Modified: 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomResourceReference.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomResourceReference.java?rev=1786840&r1=1786839&r2=1786840&view=diff
==============================================================================
--- 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomResourceReference.java
 (original)
+++ 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomResourceReference.java
 Tue Mar 14 03:59:48 2017
@@ -29,14 +29,15 @@ import static org.apache.openmeetings.we
 import java.io.File;
 
 import org.apache.openmeetings.db.dao.file.FileExplorerItemDao;
+import org.apache.openmeetings.db.entity.basic.Client;
 import org.apache.openmeetings.db.entity.file.FileExplorerItem;
 import org.apache.openmeetings.db.entity.file.FileItem;
+import org.apache.openmeetings.db.entity.file.FileItem.Type;
 import org.apache.openmeetings.web.app.WebSession;
 import org.apache.openmeetings.web.util.FileItemResourceReference;
 import org.apache.wicket.request.mapper.parameter.PageParameters;
 import org.apache.wicket.request.resource.IResource.Attributes;
 import org.apache.wicket.util.string.StringValue;
-import org.apache.wicket.util.string.Strings;
 
 public class RoomResourceReference extends 
FileItemResourceReference<FileExplorerItem> {
        private static final long serialVersionUID = 1L;
@@ -87,11 +88,15 @@ public class RoomResourceReference exten
                        //no-op expected
                }
                WebSession ws = WebSession.get();
-               if (id != null && ws.isSignedIn() && !Strings.isEmpty(uid) && 
getOnlineClient(uid) != null) {
-                       //FIXME TODO ADDITIONALLY CHECK Rights !! and room !!
-                       return getBean(FileExplorerItemDao.class).get(id);
+               Client c = getOnlineClient(uid);
+               if (id == null || !ws.isSignedIn() || c == null) {
+                       return null;
                }
-               return null;
+               FileExplorerItem f = getBean(FileExplorerItemDao.class).get(id);
+               // impossible to check file permission based on client, file 
can be dropped on WB
+               // and should be accessible to whole room
+               //FIXME TODO ADDITIONALLY CHECK Rights !! and room !!
+               return f;
        }
 
        protected File getFile(FileExplorerItem f, String ext) {
@@ -105,7 +110,7 @@ public class RoomResourceReference exten
 
        @Override
        protected File getFile(FileExplorerItem f) {
-               return getFile(f, null);
+               return getFile(f, Type.Video == f.getType() && preview ? 
EXTENSION_JPG : null);
        }
 
        @Override

Modified: 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/record/RecordingsPanel.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/record/RecordingsPanel.java?rev=1786840&r1=1786839&r2=1786840&view=diff
==============================================================================
--- 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/record/RecordingsPanel.java
 (original)
+++ 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/record/RecordingsPanel.java
 Tue Mar 14 03:59:48 2017
@@ -25,7 +25,6 @@ import static org.apache.openmeetings.we
 import org.apache.openmeetings.db.dao.record.RecordingDao;
 import org.apache.openmeetings.db.dto.record.RecordingContainerData;
 import org.apache.openmeetings.db.entity.file.FileItem;
-import org.apache.openmeetings.db.entity.record.Recording;
 import org.apache.openmeetings.web.app.Application;
 import org.apache.openmeetings.web.common.AddFolderDialog;
 import org.apache.openmeetings.web.common.UserPanel;
@@ -62,8 +61,8 @@ public class RecordingsPanel extends Use
 
                        @Override
                        protected void update(AjaxRequestTarget target, 
FileItem f) {
-                               video.update(target, (Recording)f);
-                               info.update(target, (Recording)f);
+                               video.update(target, f);
+                               info.update(target, f);
                        }
                });
                add(video, info, addFolder);

Modified: 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/record/VideoInfo.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/record/VideoInfo.java?rev=1786840&r1=1786839&r2=1786840&view=diff
==============================================================================
--- 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/record/VideoInfo.java
 (original)
+++ 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/record/VideoInfo.java
 Tue Mar 14 03:59:48 2017
@@ -32,6 +32,7 @@ import org.apache.openmeetings.core.conv
 import org.apache.openmeetings.core.converter.RecordingConverter;
 import org.apache.openmeetings.db.dao.record.RecordingMetaDataDao;
 import org.apache.openmeetings.db.dao.room.RoomDao;
+import org.apache.openmeetings.db.entity.file.FileItem;
 import org.apache.openmeetings.db.entity.record.Recording;
 import org.apache.openmeetings.db.entity.record.Recording.Status;
 import org.apache.openmeetings.db.entity.record.RecordingMetaData;
@@ -111,38 +112,41 @@ public class VideoInfo extends Panel {
                update(null, r);
        }
 
-       public VideoInfo update(AjaxRequestTarget target, Recording _r) {
-               Recording r = _r == null ? new Recording() : _r;
-               rm.setObject(r);
-               try {
-                       String name = null;
-                       if (r.getRoomId() != null) {
-                               Room room = 
getBean(RoomDao.class).get(r.getRoomId());
-                               if (room != null) {
-                                       name = room.getName();
-                                       isInterview = Room.Type.interview == 
room.getType();
+       public VideoInfo update(AjaxRequestTarget target, FileItem _r) {
+               boolean reConvEnabled = false;
+               boolean exists = false;
+               if (_r instanceof Recording) {
+                       Recording r = _r == null ? new Recording() : 
(Recording)_r;
+                       rm.setObject(r);
+                       exists = r.exists();
+                       try {
+                               String name = null;
+                               if (r.getRoomId() != null) {
+                                       Room room = 
getBean(RoomDao.class).get(r.getRoomId());
+                                       if (room != null) {
+                                               name = room.getName();
+                                               isInterview = 
Room.Type.interview == room.getType();
+                                       }
                                }
+                               roomName.setObject(name);
+                       } catch (Exception e) {
+                               //no-op
                        }
-                       roomName.setObject(name);
-               } catch (Exception e) {
-                       //no-op
-               }
 
-               boolean reConvEnabled = false;
-               if (r.getOwnerId() != null && 
r.getOwnerId().equals(getUserId()) && r.getStatus() != Status.RECORDING && 
r.getStatus() != Status.CONVERTING) {
-                       List<RecordingMetaData> metas = 
getBean(RecordingMetaDataDao.class).getByRecording(r.getId());
-                       reconvLabel:
-                       if (!metas.isEmpty()) {
-                               for (RecordingMetaData meta : metas) {
-                                       if (r.getRoomId() == null || 
!getRecordingMetaData(r.getRoomId(), meta.getStreamName()).exists()) {
-                                               break reconvLabel;
+                       if (r.getOwnerId() != null && 
r.getOwnerId().equals(getUserId()) && r.getStatus() != Status.RECORDING && 
r.getStatus() != Status.CONVERTING) {
+                               List<RecordingMetaData> metas = 
getBean(RecordingMetaDataDao.class).getByRecording(r.getId());
+                               reconvLabel:
+                               if (!metas.isEmpty()) {
+                                       for (RecordingMetaData meta : metas) {
+                                               if (r.getRoomId() == null || 
!getRecordingMetaData(r.getRoomId(), meta.getStreamName()).exists()) {
+                                                       break reconvLabel;
+                                               }
                                        }
+                                       reConvEnabled = true;
                                }
-                               reConvEnabled = true;
                        }
                }
                reConvert.setEnabled(reConvEnabled);
-               boolean exists = r.exists();
                downloadBtn.setEnabled(exists);
                share.setEnabled(exists);
                if (target != null) {

Modified: 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/record/VideoPlayer.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/record/VideoPlayer.java?rev=1786840&r1=1786839&r2=1786840&view=diff
==============================================================================
--- 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/record/VideoPlayer.java
 (original)
+++ 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/record/VideoPlayer.java
 Tue Mar 14 03:59:48 2017
@@ -20,76 +20,74 @@ package org.apache.openmeetings.web.user
 
 import static org.apache.openmeetings.util.OmFileHelper.MP4_MIME_TYPE;
 
+import org.apache.openmeetings.db.entity.file.FileItem;
 import org.apache.openmeetings.db.entity.record.Recording;
+import org.apache.openmeetings.web.common.MainPanel;
+import org.apache.openmeetings.web.room.RoomResourceReference;
 import org.apache.wicket.ajax.AjaxRequestTarget;
 import org.apache.wicket.markup.html.WebMarkupContainer;
 import org.apache.wicket.markup.html.media.Source;
 import org.apache.wicket.markup.html.media.video.Video;
 import org.apache.wicket.markup.html.panel.Panel;
-import org.apache.wicket.request.Url;
 import org.apache.wicket.request.mapper.parameter.PageParameters;
-import org.apache.wicket.request.resource.ResourceReference;
-import org.apache.wicket.request.resource.UrlResourceReference;
 
 public class VideoPlayer extends Panel {
        private static final long serialVersionUID = 1L;
        private final WebMarkupContainer wait = new WebMarkupContainer("wait"); 
//FIXME not used
        private final WebMarkupContainer container = new 
WebMarkupContainer("container");
-       private final Mp4RecordingResourceReference mp4res = new 
Mp4RecordingResourceReference();
-       private final OmVideo player = new OmVideo("player", null);
-       private final Source mp4 = new Source("mp4", mp4res);
+       private final Mp4RecordingResourceReference mp4RecRes = new 
Mp4RecordingResourceReference();
+       private final JpgRecordingResourceReference posterRecRes = new 
JpgRecordingResourceReference();
+       private final RoomResourceReference mp4FileRes = new 
RoomResourceReference();
+       private final RoomResourceReference posterFileRes = new 
RoomResourceReference();
+       private final Video player = new Video("player") {
+               private static final long serialVersionUID = 1L;
+
+               @Override
+               public boolean isAutoplay() {
+                       return false;
+               }
+
+               @Override
+               public boolean hasControls() {
+                       return true;
+               }
+       };
+       private final Source mp4Rec = new Source("mp4", mp4RecRes);
+       private final Source mp4File = new Source("mp4", mp4FileRes);
 
        public VideoPlayer(String id) {
-               this(id, null);
-       }
-       
-       public VideoPlayer(String id, Recording r) {
                super(id);
                add(container.setOutputMarkupPlaceholderTag(true));
-               mp4.setDisplayType(true);
-               mp4.setType(MP4_MIME_TYPE);
-               player.add(mp4);
+               mp4Rec.setDisplayType(true);
+               mp4Rec.setType(MP4_MIME_TYPE);
+               mp4File.setDisplayType(true);
+               mp4File.setType(MP4_MIME_TYPE);
+               player.add(mp4Rec);
                container.add(wait.setVisible(false), player);
-               update(null, r);
+               update(null, null);
        }
-       
-       public VideoPlayer update(AjaxRequestTarget target, Recording r) {
+
+       public VideoPlayer update(AjaxRequestTarget target, FileItem r) {
                boolean videoExists = r != null && r.exists();
                if (videoExists) {
-                       PageParameters pp = new PageParameters().add("id", 
r.getId());
-                       mp4.setPageParameters(pp);
-                       player.recId = r.getId();
+                       PageParameters pp = new PageParameters();
+                       if (r instanceof Recording) {
+                               pp.add("id", r.getId());
+                               mp4Rec.setPageParameters(pp);
+                               player.replace(mp4Rec);
+                               player.setPoster(posterRecRes, pp);
+                       } else {
+                               pp.add("id", r.getId()).add("uid", 
findParent(MainPanel.class).getClient().getUid());
+                               mp4File.setPageParameters(pp);
+                               player.replace(mp4File);
+                               player.setPoster(posterFileRes, new 
PageParameters(pp).add("preview", true));
+                       }
                }
                container.setVisible(videoExists);
                if (target != null) {
                        target.add(container);
                }
-               
+
                return this;
        }
-       
-       private static class OmVideo extends Video {
-               private static final long serialVersionUID = 1L;
-               Long recId = null;
-               
-               OmVideo(String id, Long recId) {
-                       super(id);
-                       this.recId = recId;
-               }
-               
-               @Override
-               public boolean isAutoplay() {
-                       return false;
-               }
-               
-               @Override
-               public boolean hasControls() {
-                       return true;
-               }
-               
-               @Override
-               public ResourceReference getPoster() {
-                       return recId == null ? null : new 
UrlResourceReference(Url.parse("recordings/jpg/" + 
recId)).setContextRelative(true);
-               }
-       }
 }

Modified: 
openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/converter/BaseConverter.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/converter/BaseConverter.java?rev=1786840&r1=1786839&r2=1786840&view=diff
==============================================================================
--- 
openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/converter/BaseConverter.java
 (original)
+++ 
openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/converter/BaseConverter.java
 Tue Mar 14 03:59:48 2017
@@ -335,7 +335,7 @@ public abstract class BaseConverter {
        }
 
        protected String getDimensions(Recording r) {
-               return String.format("%sx%s", r.getFlvWidth(), 
r.getFlvHeight());
+               return String.format("%sx%s", r.getWidth(), r.getHeight());
        }
 
        protected List<String> addMp4OutParams(Recording r, List<String> argv, 
String mp4path) {

Modified: 
openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/converter/FlvExplorerConverter.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/converter/FlvExplorerConverter.java?rev=1786840&r1=1786839&r2=1786840&view=diff
==============================================================================
--- 
openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/converter/FlvExplorerConverter.java
 (original)
+++ 
openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/converter/FlvExplorerConverter.java
 Tue Mar 14 03:59:48 2017
@@ -89,8 +89,8 @@ public class FlvExplorerConverter extend
                        }
                        //Parse the width height from the FFMPEG output
                        FlvDimension dim = getFlvDimension(res.getError());
-                       f.setFlvWidth(dim.width);
-                       f.setFlvHeight(dim.height);
+                       f.setWidth(dim.width);
+                       f.setHeight(dim.height);
                        File jpeg = f.getFile(EXTENSION_JPG);
 
                        args = new String[] { getPathToFFMPEG(), "-y", "-i",

Modified: 
openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/converter/InterviewConverter.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/converter/InterviewConverter.java?rev=1786840&r1=1786839&r2=1786840&view=diff
==============================================================================
--- 
openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/converter/InterviewConverter.java
 (original)
+++ 
openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/converter/InterviewConverter.java
 Tue Mar 14 03:59:48 2017
@@ -251,8 +251,8 @@ public class InterviewConverter extends
                        args.add("-qmin"); args.add("1");
                        // TODO additional flag to 'quiet' output should be 
added
 
-                       r.setFlvWidth(2 * flvWidth);
-                       r.setFlvHeight(flvHeight);
+                       r.setWidth(2 * flvWidth);
+                       r.setHeight(flvHeight);
 
                        String mp4path = convertToMp4(r, args, logs);
 

Modified: 
openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/converter/RecordingConverter.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/converter/RecordingConverter.java?rev=1786840&r1=1786839&r2=1786840&view=diff
==============================================================================
--- 
openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/converter/RecordingConverter.java
 (original)
+++ 
openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/converter/RecordingConverter.java
 Tue Mar 14 03:59:48 2017
@@ -130,8 +130,8 @@ public class RecordingConverter extends
                        log.debug("flvWidth -2- " + flvWidth);
                        log.debug("flvHeight -2- " + flvHeight);
 
-                       r.setFlvWidth(flvWidth);
-                       r.setFlvHeight(flvHeight);
+                       r.setWidth(flvWidth);
+                       r.setHeight(flvHeight);
 
                        String mp4path = convertToMp4(r, Arrays.asList(
                                        "-itsoffset", 
formatMillis(diff(screenMetaData.getRecordStart(), r.getRecordStart())),

Modified: 
openmeetings/application/trunk/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/file/FileExplorerItemDao.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/file/FileExplorerItemDao.java?rev=1786840&r1=1786839&r2=1786840&view=diff
==============================================================================
--- 
openmeetings/application/trunk/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/file/FileExplorerItemDao.java
 (original)
+++ 
openmeetings/application/trunk/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/file/FileExplorerItemDao.java
 Tue Mar 14 03:59:48 2017
@@ -106,12 +106,34 @@ public class FileExplorerItemDao {
                return query.getResultList();
        }
 
+       public List<FileExplorerItem> getByGroup(Long groupId) {
+               log.debug("getByGroup() started");
+               return em.createNamedQuery("getFileByGroup", 
FileExplorerItem.class)
+                               .setParameter("groupId", groupId)
+                               .getResultList();
+       }
+
+       public List<FileExplorerItem> getByGroup(Long groupId, List<Type> 
filter) {
+               log.debug("getByGroup() started");
+               return em.createNamedQuery("getFileFilteredByGroup", 
FileExplorerItem.class)
+                               .setParameter("filter", filter)
+                               .setParameter("groupId", groupId)
+                               .getResultList();
+       }
+
        public List<FileExplorerItem> getByParent(Long parentId) {
                log.debug("getByParent() started");
-               TypedQuery<FileExplorerItem> query = 
em.createNamedQuery("getFilesByParent", FileExplorerItem.class);
-               query.setParameter("parentId", parentId);
+               return em.createNamedQuery("getFilesByParent", 
FileExplorerItem.class)
+                               .setParameter("parentId", parentId)
+                               .getResultList();
+       }
 
-               return query.getResultList();
+       public List<FileExplorerItem> getByParent(Long parentId, List<Type> 
filter) {
+               log.debug("getByParent() started");
+               return em.createNamedQuery("getFilesFilteredByParent", 
FileExplorerItem.class)
+                               .setParameter("filter", filter)
+                               .setParameter("parentId", parentId)
+                               .getResultList();
        }
 
        public FileExplorerItem getByHash(String hash) {
@@ -264,7 +286,6 @@ public class FileExplorerItemDao {
        public long getSize(List<FileExplorerItem> list) {
                long size = 0;
                for (FileExplorerItem f : list) {
-                       log.debug("FileExplorerItem fList " + f.getName());
                        size += getSize(f);
                }
                return size;

Modified: 
openmeetings/application/trunk/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/file/FileExplorerItemDTO.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/file/FileExplorerItemDTO.java?rev=1786840&r1=1786839&r2=1786840&view=diff
==============================================================================
--- 
openmeetings/application/trunk/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/file/FileExplorerItemDTO.java
 (original)
+++ 
openmeetings/application/trunk/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/file/FileExplorerItemDTO.java
 Tue Mar 14 03:59:48 2017
@@ -49,8 +49,8 @@ public class FileExplorerItemDTO impleme
        private String externalId;
        private String externalType;
        private Type type;
-       private Integer flvWidth;
-       private Integer flvHeight;
+       private Integer width;
+       private Integer height;
 
        public FileExplorerItemDTO() {}
 
@@ -65,8 +65,8 @@ public class FileExplorerItemDTO impleme
                externalId = f.getExternalId();
                externalType = f.getExternalType();
                type = f.getType();
-               flvWidth = f.getFlvWidth();
-               flvHeight = f.getFlvHeight();
+               width = f.getWidth();
+               height = f.getHeight();
        }
        
        public FileExplorerItem get() {
@@ -81,8 +81,8 @@ public class FileExplorerItemDTO impleme
                f.setExternalId(externalId);
                f.setExternalType(externalType);
                f.setType(type);
-               f.setFlvWidth(flvWidth);
-               f.setFlvHeight(flvHeight);
+               f.setWidth(width);
+               f.setHeight(height);
                return f;
        }
        
@@ -166,20 +166,20 @@ public class FileExplorerItemDTO impleme
                this.type = type;
        }
 
-       public Integer getFlvWidth() {
-               return flvWidth;
+       public Integer getWidth() {
+               return width;
        }
 
-       public void setFlvWidth(Integer flvWidth) {
-               this.flvWidth = flvWidth;
+       public void setWidth(Integer width) {
+               this.width = width;
        }
 
-       public Integer getFlvHeight() {
-               return flvHeight;
+       public Integer getHeight() {
+               return height;
        }
 
-       public void setFlvHeight(Integer flvHeight) {
-               this.flvHeight = flvHeight;
+       public void setHeight(Integer height) {
+               this.height = height;
        }
 
        public static List<FileExplorerItemDTO> list(List<FileExplorerItem> l) {

Modified: 
openmeetings/application/trunk/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/file/FileExplorerItem.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/file/FileExplorerItem.java?rev=1786840&r1=1786839&r2=1786840&view=diff
==============================================================================
--- 
openmeetings/application/trunk/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/file/FileExplorerItem.java
 (original)
+++ 
openmeetings/application/trunk/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/file/FileExplorerItem.java
 Tue Mar 14 03:59:48 2017
@@ -32,16 +32,24 @@ import org.simpleframework.xml.Root;
 
 @Entity
 @NamedQueries({
-       @NamedQuery(name = "getAllFiles", query = "SELECT c FROM 
FileExplorerItem c ORDER BY c.id")
-       , @NamedQuery(name = "getFileById", query = "SELECT c FROM 
FileExplorerItem c WHERE c.id = :id")
-       , @NamedQuery(name = "getFileByHash", query = "SELECT c FROM 
FileExplorerItem c WHERE c.hash = :hash")
-       , @NamedQuery(name = "getFilesByRoom", query = "SELECT c FROM 
FileExplorerItem c WHERE c.deleted = false AND c.roomId = :roomId " +
-                       "AND c.ownerId IS NULL AND c.parentId IS NULL ORDER BY 
c.type ASC, c.name ")
-       , @NamedQuery(name = "getFilesByOwner", query = "SELECT c FROM 
FileExplorerItem c WHERE c.deleted = false AND c.ownerId = :ownerId "
-                       + "AND c.parentId IS NULL ORDER BY c.type ASC, c.name ")
-       , @NamedQuery(name = "getFilesByParent", query = "SELECT c FROM 
FileExplorerItem c WHERE c.deleted = false "
-                       + "AND c.parentId = :parentId ORDER BY c.type ASC, 
c.name ")
-       , @NamedQuery(name = "getFileExternal", query = "SELECT c FROM 
FileExplorerItem c WHERE c.externalId = :externalId AND c.externalType LIKE 
:externalType")
+       @NamedQuery(name = "getAllFiles", query = "SELECT f FROM 
FileExplorerItem f ORDER BY f.id")
+       , @NamedQuery(name = "getFileById", query = "SELECT f FROM 
FileExplorerItem f WHERE f.id = :id")
+       , @NamedQuery(name = "getFileByHash", query = "SELECT f FROM 
FileExplorerItem f WHERE f.hash = :hash")
+       , @NamedQuery(name = "getFilesByRoom", query = "SELECT f FROM 
FileExplorerItem f WHERE f.deleted = false AND f.roomId = :roomId " +
+                       "AND f.ownerId IS NULL AND f.parentId IS NULL ORDER BY 
f.type ASC, f.name ")
+       , @NamedQuery(name = "getFilesByOwner", query = "SELECT f FROM 
FileExplorerItem f WHERE f.deleted = false AND f.ownerId = :ownerId "
+                       + "AND f.parentId IS NULL ORDER BY f.type ASC, f.name ")
+       , @NamedQuery(name = "getFilesByParent", query = "SELECT f FROM 
FileExplorerItem f WHERE f.deleted = false "
+                       + "AND f.parentId = :parentId ORDER BY f.type ASC, 
f.name ")
+       , @NamedQuery(name = "getFilesFilteredByParent", query = "SELECT f FROM 
FileExplorerItem 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 
FileExplorerItem f WHERE f.externalId = :externalId AND f.externalType LIKE 
:externalType")
+       , @NamedQuery(name = "getFileByGroup", query = "SELECT f FROM 
FileExplorerItem 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")
+       , @NamedQuery(name = "getFileFilteredByGroup", query = "SELECT f FROM 
FileExplorerItem f WHERE f.deleted = false AND f.ownerId IS NULL "
+                       + "AND f.groupId = :groupId AND f.parentId IS NULL AND 
f.type IN :filter "
+                       + "ORDER BY f.type ASC, f.name")
 })
 @Table(name = "fileexploreritem")
 @Root

Modified: 
openmeetings/application/trunk/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/file/FileItem.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/file/FileItem.java?rev=1786840&r1=1786839&r2=1786840&view=diff
==============================================================================
--- 
openmeetings/application/trunk/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/file/FileItem.java
 (original)
+++ 
openmeetings/application/trunk/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/file/FileItem.java
 Tue Mar 14 03:59:48 2017
@@ -90,21 +90,28 @@ public abstract class FileItem implement
 
        @Column(name = "flv_width")
        @Element(data = true, required = false)
-       private Integer flvWidth;
+       private Integer width;
 
        @Column(name = "flv_height")
        @Element(data = true, required = false)
-       private Integer flvHeight;
+       private Integer height;
 
        @Column(name = "type")
        @Element(data = true, required = false)
        @Enumerated(EnumType.STRING)
        private Type type;
 
+       @Column(name = "group_id")
+       @Element(data = true, required = false)
+       private Long groupId;
+
        // Not Mapped
        @Transient
        private List<FileItemLog> log;
 
+       @Transient
+       private boolean readOnly;
+
        public String getName() {
                return name;
        }
@@ -177,20 +184,20 @@ public abstract class FileItem implement
                this.deleted = deleted;
        }
 
-       public Integer getFlvWidth() {
-               return flvWidth;
+       public Integer getWidth() {
+               return width;
        }
 
-       public void setFlvWidth(Integer flvWidth) {
-               this.flvWidth = flvWidth;
+       public void setWidth(Integer flvWidth) {
+               this.width = flvWidth;
        }
 
-       public Integer getFlvHeight() {
-               return flvHeight;
+       public Integer getHeight() {
+               return height;
        }
 
-       public void setFlvHeight(Integer flvHeight) {
-               this.flvHeight = flvHeight;
+       public void setHeight(Integer flvHeight) {
+               this.height = flvHeight;
        }
 
        public Type getType() {
@@ -217,6 +224,22 @@ public abstract class FileItem implement
                return getFile(null);
        }
 
+       public Long getGroupId() {
+               return groupId;
+       }
+
+       public void setGroupId(Long groupId) {
+               this.groupId = groupId;
+       }
+
+       public boolean isReadOnly() {
+               return readOnly;
+       }
+
+       public void setReadOnly(boolean readOnly) {
+               this.readOnly = readOnly;
+       }
+
        public final File getFile(String ext) {
                File f = null;
                if (getHash() != null) {

Modified: 
openmeetings/application/trunk/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/record/Recording.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/record/Recording.java?rev=1786840&r1=1786839&r2=1786840&view=diff
==============================================================================
--- 
openmeetings/application/trunk/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/record/Recording.java
 (original)
+++ 
openmeetings/application/trunk/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/record/Recording.java
 Tue Mar 14 03:59:48 2017
@@ -55,30 +55,30 @@ import org.simpleframework.xml.Root;
  * <li>a interview recording</li>
  * <li>a folder</li>
  * </ul>
- * 
+ *
  * Recorded files are situated in: webapps/openmeetings/streams/hibernate.<br/>
  * The raw recorded files are situated in:
  * webapps/openmeetings/streams/$ROOM_ID.<br/>
- * 
+ *
  * @author sebawagner
- * 
+ *
  */
 @Entity
-@NamedQueries({ 
-       @NamedQuery(name = "getRecordingById", query = "SELECT f FROM Recording 
f WHERE f.id = :id") 
-       , @NamedQuery(name = "getRecordingByHash", query = "SELECT f FROM 
Recording f WHERE f.hash = :hash") 
+@NamedQueries({
+       @NamedQuery(name = "getRecordingById", query = "SELECT f FROM Recording 
f WHERE f.id = :id")
+       , @NamedQuery(name = "getRecordingByHash", query = "SELECT f FROM 
Recording f WHERE f.hash = :hash")
        , @NamedQuery(name = "getRecordingsByExternalUser", query = "SELECT c 
FROM Recording c, User u "
                        + "WHERE c.insertedBy = u.id AND u.externalId = 
:externalId  AND u.externalType = :externalType "
-                       + "AND c.deleted = false") 
+                       + "AND c.deleted = false")
        , @NamedQuery(name = "getRecordingsPublic", query = "SELECT f FROM 
Recording f WHERE f.deleted = false AND f.ownerId IS NULL "
                        + "AND f.groupId IS NULL AND (f.parentId IS NULL OR 
f.parentId = 0) "
-                       + "ORDER BY f.type DESC, f.inserted")
+                       + "ORDER BY f.type ASC, f.inserted")
        , @NamedQuery(name = "getRecordingsByGroup", query = "SELECT f FROM 
Recording f WHERE f.deleted = false AND f.ownerId IS NULL "
                        + "AND f.groupId = :groupId AND (f.parentId IS NULL OR 
f.parentId = 0) "
-                       + "ORDER BY f.type DESC, f.inserted")
+                       + "ORDER BY f.type ASC, f.inserted")
        , @NamedQuery(name = "getRecordingsByOwner", query = "SELECT f FROM 
Recording f WHERE f.deleted = false AND f.ownerId = :ownerId "
                        + "AND (f.parentId IS NULL OR f.parentId = 0) "
-                       + "ORDER BY f.type DESC, f.inserted")
+                       + "ORDER BY f.type ASC, f.inserted")
        , @NamedQuery(name = "resetRecordingProcessingStatus", query = "UPDATE 
Recording f SET f.status = :error WHERE f.status IN (:recording, :converting)")
        , @NamedQuery(name = "getRecordingsAll", query = "SELECT c FROM 
Recording c LEFT JOIN FETCH c.metaData ORDER BY c.id")
        , @NamedQuery(name = "getRecordingsByExternalTypeAndOwner", query = 
"SELECT c FROM Recording c, Room r WHERE c.roomId = r.id "
@@ -103,7 +103,7 @@ import org.simpleframework.xml.Root;
 @XmlAccessorType(XmlAccessType.FIELD)
 public class Recording extends FileItem {
        private static final long serialVersionUID = 1L;
-       
+
        @XmlType(namespace="org.apache.openmeetings.record")
        public enum Status {
                NONE
@@ -131,14 +131,6 @@ public class Recording extends FileItem
        @Element(data = true, required = false)
        private Date recordEnd;
 
-       @Column(name = "width")
-       @Element(data = true, required = false)
-       private Integer width;
-
-       @Column(name = "height")
-       @Element(data = true, required = false)
-       private Integer height;
-
        @Column(name = "duration")
        @Element(data = true, required = false)
        private String duration;
@@ -147,10 +139,6 @@ public class Recording extends FileItem
        @Element(data = true, required = false)
        private String recorderStreamId;
 
-       @Column(name = "group_id")
-       @Element(data = true, required = false)
-       private Long groupId;
-
        @Column(name = "is_interview", nullable = false)
        @Element(data = true, required = false)
        private boolean interview;
@@ -219,14 +207,6 @@ public class Recording extends FileItem
                this.recorderStreamId = recorderStreamId;
        }
 
-       public Long getGroupId() {
-               return groupId;
-       }
-
-       public void setGroupId(Long groupId) {
-               this.groupId = groupId;
-       }
-
        public List<RecordingMetaData> getMetaData() {
                return metaData;
        }
@@ -235,22 +215,6 @@ public class Recording extends FileItem
                this.metaData = metaData;
        }
 
-       public Integer getWidth() {
-               return width;
-       }
-
-       public void setWidth(Integer width) {
-               this.width = width;
-       }
-
-       public Integer getHeight() {
-               return height;
-       }
-
-       public void setHeight(Integer height) {
-               this.height = height;
-       }
-
        public boolean isInterview() {
                return interview;
        }

Modified: 
openmeetings/application/trunk/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screenshare/Core.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screenshare/Core.java?rev=1786840&r1=1786839&r2=1786840&view=diff
==============================================================================
--- 
openmeetings/application/trunk/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screenshare/Core.java
 (original)
+++ 
openmeetings/application/trunk/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screenshare/Core.java
 Tue Mar 14 03:59:48 2017
@@ -160,7 +160,7 @@ public class Core implements IPendingSer
                                                        
client.setKeyStorePassword(args[11]);
                                                        instance = client;
                                                } else {
-                                                       instance = new 
RTMPTSScreenShare(this, true);
+                                                       instance = new 
RTMPTSScreenShare(this);
                                                }
                                                break;
                                        case rtmpe:

Modified: 
openmeetings/application/trunk/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screenshare/RTMPTSScreenShare.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screenshare/RTMPTSScreenShare.java?rev=1786840&r1=1786839&r2=1786840&view=diff
==============================================================================
--- 
openmeetings/application/trunk/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screenshare/RTMPTSScreenShare.java
 (original)
+++ 
openmeetings/application/trunk/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screenshare/RTMPTSScreenShare.java
 Tue Mar 14 03:59:48 2017
@@ -31,7 +31,7 @@ public class RTMPTSScreenShare extends R
 
        private final Core core;
 
-       public RTMPTSScreenShare(Core core, boolean secure) {
+       public RTMPTSScreenShare(Core core) {
                this.core = core;
        };
 

Modified: 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.java?rev=1786840&r1=1786839&r2=1786840&view=diff
==============================================================================
--- 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.java
 (original)
+++ 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.java
 Tue Mar 14 03:59:48 2017
@@ -366,10 +366,6 @@ public class Application extends Authent
                return result;
        }
 
-       public static int getClientsSize() {
-               return ONLINE_USERS.size();
-       }
-
        public static Client getClientByKeys(Long userId, String sessionId) {
                Client client = null;
                for (Map.Entry<String, Client> e : ONLINE_USERS.entrySet()) {

Modified: 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.properties.xml
URL: 
http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.properties.xml?rev=1786840&r1=1786839&r2=1786840&view=diff
==============================================================================
--- 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.properties.xml
 (original)
+++ 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.properties.xml
 Tue Mar 14 03:59:48 2017
@@ -1915,4 +1915,5 @@
        <entry key="template.recording.expiring.subj.room"> -- Room[{0}]</entry>
        <entry key="widget.recent.title">Recent Rooms</entry>
        <entry key="widget.recent.desc">This sections displays rooms recently 
opened by you</entry>
+       <entry key="files.root.group">Group files</entry>
 </properties>

Modified: 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_ar.properties.xml
URL: 
http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_ar.properties.xml?rev=1786840&r1=1786839&r2=1786840&view=diff
==============================================================================
--- 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_ar.properties.xml
 (original)
+++ 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_ar.properties.xml
 Tue Mar 14 03:59:48 2017
@@ -1915,4 +1915,5 @@
        <entry key="template.recording.expiring.subj.room"> -- Room[{0}]</entry>
        <entry key="widget.recent.title">Recent Rooms</entry>
        <entry key="widget.recent.desc">This sections displays rooms recently 
opened by you</entry>
+       <entry key="files.root.group">Group files</entry>
 </properties>

Modified: 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_bg.properties.xml
URL: 
http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_bg.properties.xml?rev=1786840&r1=1786839&r2=1786840&view=diff
==============================================================================
--- 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_bg.properties.xml
 (original)
+++ 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_bg.properties.xml
 Tue Mar 14 03:59:48 2017
@@ -1915,4 +1915,5 @@
        <entry key="template.recording.expiring.subj.room"> -- Room[{0}]</entry>
        <entry key="widget.recent.title">Recent Rooms</entry>
        <entry key="widget.recent.desc">This sections displays rooms recently 
opened by you</entry>
+       <entry key="files.root.group">Group files</entry>
 </properties>

Modified: 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_ca.properties.xml
URL: 
http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_ca.properties.xml?rev=1786840&r1=1786839&r2=1786840&view=diff
==============================================================================
--- 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_ca.properties.xml
 (original)
+++ 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_ca.properties.xml
 Tue Mar 14 03:59:48 2017
@@ -1915,4 +1915,5 @@
        <entry key="template.recording.expiring.subj.room"> -- Room[{0}]</entry>
        <entry key="widget.recent.title">Recent Rooms</entry>
        <entry key="widget.recent.desc">This sections displays rooms recently 
opened by you</entry>
+       <entry key="files.root.group">Group files</entry>
 </properties>

Modified: 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_cs.properties.xml
URL: 
http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_cs.properties.xml?rev=1786840&r1=1786839&r2=1786840&view=diff
==============================================================================
--- 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_cs.properties.xml
 (original)
+++ 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_cs.properties.xml
 Tue Mar 14 03:59:48 2017
@@ -1915,4 +1915,5 @@
        <entry key="template.recording.expiring.subj.room"> -- Room[{0}]</entry>
        <entry key="widget.recent.title">Recent Rooms</entry>
        <entry key="widget.recent.desc">This sections displays rooms recently 
opened by you</entry>
+       <entry key="files.root.group">Group files</entry>
 </properties>

Modified: 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_da.properties.xml
URL: 
http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_da.properties.xml?rev=1786840&r1=1786839&r2=1786840&view=diff
==============================================================================
--- 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_da.properties.xml
 (original)
+++ 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_da.properties.xml
 Tue Mar 14 03:59:48 2017
@@ -1915,4 +1915,5 @@
        <entry key="template.recording.expiring.subj.room"> -- Room[{0}]</entry>
        <entry key="widget.recent.title">Recent Rooms</entry>
        <entry key="widget.recent.desc">This sections displays rooms recently 
opened by you</entry>
+       <entry key="files.root.group">Group files</entry>
 </properties>

Modified: 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_de.properties.xml
URL: 
http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_de.properties.xml?rev=1786840&r1=1786839&r2=1786840&view=diff
==============================================================================
--- 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_de.properties.xml
 (original)
+++ 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_de.properties.xml
 Tue Mar 14 03:59:48 2017
@@ -1936,4 +1936,5 @@
        <entry key="template.recording.expiring.subj.room"> -- Room[{0}]</entry>
        <entry key="widget.recent.title">Recent Rooms</entry>
        <entry key="widget.recent.desc">This sections displays rooms recently 
opened by you</entry>
+       <entry key="files.root.group">Group files</entry>
 </properties>

Modified: 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_el.properties.xml
URL: 
http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_el.properties.xml?rev=1786840&r1=1786839&r2=1786840&view=diff
==============================================================================
--- 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_el.properties.xml
 (original)
+++ 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_el.properties.xml
 Tue Mar 14 03:59:48 2017
@@ -1915,4 +1915,5 @@
        <entry key="template.recording.expiring.subj.room"> -- Room[{0}]</entry>
        <entry key="widget.recent.title">Recent Rooms</entry>
        <entry key="widget.recent.desc">This sections displays rooms recently 
opened by you</entry>
+       <entry key="files.root.group">Group files</entry>
 </properties>

Modified: 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_es.properties.xml
URL: 
http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_es.properties.xml?rev=1786840&r1=1786839&r2=1786840&view=diff
==============================================================================
--- 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_es.properties.xml
 (original)
+++ 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_es.properties.xml
 Tue Mar 14 03:59:48 2017
@@ -1915,4 +1915,5 @@
        <entry key="template.recording.expiring.subj.room"> -- Room[{0}]</entry>
        <entry key="widget.recent.title">Recent Rooms</entry>
        <entry key="widget.recent.desc">This sections displays rooms recently 
opened by you</entry>
+       <entry key="files.root.group">Group files</entry>
 </properties>

Modified: 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_fa.properties.xml
URL: 
http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_fa.properties.xml?rev=1786840&r1=1786839&r2=1786840&view=diff
==============================================================================
--- 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_fa.properties.xml
 (original)
+++ 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_fa.properties.xml
 Tue Mar 14 03:59:48 2017
@@ -1915,4 +1915,5 @@
        <entry key="template.recording.expiring.subj.room"> -- Room[{0}]</entry>
        <entry key="widget.recent.title">Recent Rooms</entry>
        <entry key="widget.recent.desc">This sections displays rooms recently 
opened by you</entry>
+       <entry key="files.root.group">Group files</entry>
 </properties>

Modified: 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_fi.properties.xml
URL: 
http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_fi.properties.xml?rev=1786840&r1=1786839&r2=1786840&view=diff
==============================================================================
--- 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_fi.properties.xml
 (original)
+++ 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_fi.properties.xml
 Tue Mar 14 03:59:48 2017
@@ -1915,4 +1915,5 @@
        <entry key="template.recording.expiring.subj.room"> -- Room[{0}]</entry>
        <entry key="widget.recent.title">Recent Rooms</entry>
        <entry key="widget.recent.desc">This sections displays rooms recently 
opened by you</entry>
+       <entry key="files.root.group">Group files</entry>
 </properties>

Modified: 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_fr.properties.xml
URL: 
http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_fr.properties.xml?rev=1786840&r1=1786839&r2=1786840&view=diff
==============================================================================
--- 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_fr.properties.xml
 (original)
+++ 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_fr.properties.xml
 Tue Mar 14 03:59:48 2017
@@ -1904,4 +1904,5 @@
        <entry key="template.recording.expiring.subj.room"> -- Room[{0}]</entry>
        <entry key="widget.recent.title">Recent Rooms</entry>
        <entry key="widget.recent.desc">This sections displays rooms recently 
opened by you</entry>
+       <entry key="files.root.group">Group files</entry>
 </properties>

Modified: 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_gl.properties.xml
URL: 
http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_gl.properties.xml?rev=1786840&r1=1786839&r2=1786840&view=diff
==============================================================================
--- 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_gl.properties.xml
 (original)
+++ 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_gl.properties.xml
 Tue Mar 14 03:59:48 2017
@@ -1915,4 +1915,5 @@
        <entry key="template.recording.expiring.subj.room"> -- Room[{0}]</entry>
        <entry key="widget.recent.title">Recent Rooms</entry>
        <entry key="widget.recent.desc">This sections displays rooms recently 
opened by you</entry>
+       <entry key="files.root.group">Group files</entry>
 </properties>

Modified: 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_hu.properties.xml
URL: 
http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_hu.properties.xml?rev=1786840&r1=1786839&r2=1786840&view=diff
==============================================================================
--- 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_hu.properties.xml
 (original)
+++ 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_hu.properties.xml
 Tue Mar 14 03:59:48 2017
@@ -1899,4 +1899,5 @@
        <entry key="template.recording.expiring.subj.room"> -- Room[{0}]</entry>
        <entry key="widget.recent.title">Recent Rooms</entry>
        <entry key="widget.recent.desc">This sections displays rooms recently 
opened by you</entry>
+       <entry key="files.root.group">Group files</entry>
 </properties>

Modified: 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_id.properties.xml
URL: 
http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_id.properties.xml?rev=1786840&r1=1786839&r2=1786840&view=diff
==============================================================================
--- 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_id.properties.xml
 (original)
+++ 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_id.properties.xml
 Tue Mar 14 03:59:48 2017
@@ -1915,4 +1915,5 @@
        <entry key="template.recording.expiring.subj.room"> -- Room[{0}]</entry>
        <entry key="widget.recent.title">Recent Rooms</entry>
        <entry key="widget.recent.desc">This sections displays rooms recently 
opened by you</entry>
+       <entry key="files.root.group">Group files</entry>
 </properties>

Modified: 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_it.properties.xml
URL: 
http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_it.properties.xml?rev=1786840&r1=1786839&r2=1786840&view=diff
==============================================================================
--- 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_it.properties.xml
 (original)
+++ 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_it.properties.xml
 Tue Mar 14 03:59:48 2017
@@ -1917,4 +1917,5 @@
        <entry key="template.recording.expiring.subj.room"> -- Room[{0}]</entry>
        <entry key="widget.recent.title">Recent Rooms</entry>
        <entry key="widget.recent.desc">This sections displays rooms recently 
opened by you</entry>
+       <entry key="files.root.group">Group files</entry>
 </properties>

Modified: 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_ja.properties.xml
URL: 
http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_ja.properties.xml?rev=1786840&r1=1786839&r2=1786840&view=diff
==============================================================================
--- 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_ja.properties.xml
 (original)
+++ 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_ja.properties.xml
 Tue Mar 14 03:59:48 2017
@@ -1915,4 +1915,5 @@
        <entry key="template.recording.expiring.subj.room"> -- Room[{0}]</entry>
        <entry key="widget.recent.title">Recent Rooms</entry>
        <entry key="widget.recent.desc">This sections displays rooms recently 
opened by you</entry>
+       <entry key="files.root.group">Group files</entry>
 </properties>

Modified: 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_ko.properties.xml
URL: 
http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_ko.properties.xml?rev=1786840&r1=1786839&r2=1786840&view=diff
==============================================================================
--- 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_ko.properties.xml
 (original)
+++ 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_ko.properties.xml
 Tue Mar 14 03:59:48 2017
@@ -1917,4 +1917,5 @@
        <entry key="template.recording.expiring.subj.room"> -- Room[{0}]</entry>
        <entry key="widget.recent.title">Recent Rooms</entry>
        <entry key="widget.recent.desc">This sections displays rooms recently 
opened by you</entry>
+       <entry key="files.root.group">Group files</entry>
 </properties>

Modified: 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_nl.properties.xml
URL: 
http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_nl.properties.xml?rev=1786840&r1=1786839&r2=1786840&view=diff
==============================================================================
--- 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_nl.properties.xml
 (original)
+++ 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_nl.properties.xml
 Tue Mar 14 03:59:48 2017
@@ -1915,4 +1915,5 @@
        <entry key="template.recording.expiring.subj.room"> -- Room[{0}]</entry>
        <entry key="widget.recent.title">Recent Rooms</entry>
        <entry key="widget.recent.desc">This sections displays rooms recently 
opened by you</entry>
+       <entry key="files.root.group">Group files</entry>
 </properties>

Modified: 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_pl.properties.xml
URL: 
http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_pl.properties.xml?rev=1786840&r1=1786839&r2=1786840&view=diff
==============================================================================
--- 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_pl.properties.xml
 (original)
+++ 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_pl.properties.xml
 Tue Mar 14 03:59:48 2017
@@ -1915,4 +1915,5 @@
        <entry key="template.recording.expiring.subj.room"> -- Room[{0}]</entry>
        <entry key="widget.recent.title">Recent Rooms</entry>
        <entry key="widget.recent.desc">This sections displays rooms recently 
opened by you</entry>
+       <entry key="files.root.group">Group files</entry>
 </properties>

Modified: 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_pt.properties.xml
URL: 
http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_pt.properties.xml?rev=1786840&r1=1786839&r2=1786840&view=diff
==============================================================================
--- 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_pt.properties.xml
 (original)
+++ 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_pt.properties.xml
 Tue Mar 14 03:59:48 2017
@@ -1915,4 +1915,5 @@
        <entry key="template.recording.expiring.subj.room"> -- Room[{0}]</entry>
        <entry key="widget.recent.title">Recent Rooms</entry>
        <entry key="widget.recent.desc">This sections displays rooms recently 
opened by you</entry>
+       <entry key="files.root.group">Group files</entry>
 </properties>

Modified: 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_pt_BR.properties.xml
URL: 
http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_pt_BR.properties.xml?rev=1786840&r1=1786839&r2=1786840&view=diff
==============================================================================
--- 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_pt_BR.properties.xml
 (original)
+++ 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_pt_BR.properties.xml
 Tue Mar 14 03:59:48 2017
@@ -1915,4 +1915,5 @@
        <entry key="template.recording.expiring.subj.room"> -- Room[{0}]</entry>
        <entry key="widget.recent.title">Recent Rooms</entry>
        <entry key="widget.recent.desc">This sections displays rooms recently 
opened by you</entry>
+       <entry key="files.root.group">Group files</entry>
 </properties>

Modified: 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_ru.properties.xml
URL: 
http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_ru.properties.xml?rev=1786840&r1=1786839&r2=1786840&view=diff
==============================================================================
--- 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_ru.properties.xml
 (original)
+++ 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_ru.properties.xml
 Tue Mar 14 03:59:48 2017
@@ -1916,4 +1916,5 @@
        <entry key="template.recording.expiring.subj.room"> -- 
Комната[{0}]</entry>
        <entry key="widget.recent.title">Последние 
комнаты</entry>
        <entry key="widget.recent.desc">Эта секция 
отображает комнаты в которые Вы недавно зах
одили</entry>
+       <entry key="files.root.group">Файлы группы</entry>
 </properties>

Modified: 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_sk.properties.xml
URL: 
http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_sk.properties.xml?rev=1786840&r1=1786839&r2=1786840&view=diff
==============================================================================
--- 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_sk.properties.xml
 (original)
+++ 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_sk.properties.xml
 Tue Mar 14 03:59:48 2017
@@ -1915,4 +1915,5 @@
        <entry key="template.recording.expiring.subj.room"> -- Room[{0}]</entry>
        <entry key="widget.recent.title">Recent Rooms</entry>
        <entry key="widget.recent.desc">This sections displays rooms recently 
opened by you</entry>
+       <entry key="files.root.group">Group files</entry>
 </properties>

Modified: 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_sv.properties.xml
URL: 
http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_sv.properties.xml?rev=1786840&r1=1786839&r2=1786840&view=diff
==============================================================================
--- 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_sv.properties.xml
 (original)
+++ 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_sv.properties.xml
 Tue Mar 14 03:59:48 2017
@@ -1915,4 +1915,5 @@
        <entry key="template.recording.expiring.subj.room"> -- Room[{0}]</entry>
        <entry key="widget.recent.title">Recent Rooms</entry>
        <entry key="widget.recent.desc">This sections displays rooms recently 
opened by you</entry>
+       <entry key="files.root.group">Group files</entry>
 </properties>

Modified: 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_th.properties.xml
URL: 
http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_th.properties.xml?rev=1786840&r1=1786839&r2=1786840&view=diff
==============================================================================
--- 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_th.properties.xml
 (original)
+++ 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_th.properties.xml
 Tue Mar 14 03:59:48 2017
@@ -1915,4 +1915,5 @@
        <entry key="template.recording.expiring.subj.room"> -- Room[{0}]</entry>
        <entry key="widget.recent.title">Recent Rooms</entry>
        <entry key="widget.recent.desc">This sections displays rooms recently 
opened by you</entry>
+       <entry key="files.root.group">Group files</entry>
 </properties>

Modified: 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_tr.properties.xml
URL: 
http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_tr.properties.xml?rev=1786840&r1=1786839&r2=1786840&view=diff
==============================================================================
--- 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_tr.properties.xml
 (original)
+++ 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_tr.properties.xml
 Tue Mar 14 03:59:48 2017
@@ -1915,4 +1915,5 @@
        <entry key="template.recording.expiring.subj.room"> -- Room[{0}]</entry>
        <entry key="widget.recent.title">Recent Rooms</entry>
        <entry key="widget.recent.desc">This sections displays rooms recently 
opened by you</entry>
+       <entry key="files.root.group">Group files</entry>
 </properties>

Modified: 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_uk.properties.xml
URL: 
http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_uk.properties.xml?rev=1786840&r1=1786839&r2=1786840&view=diff
==============================================================================
--- 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_uk.properties.xml
 (original)
+++ 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_uk.properties.xml
 Tue Mar 14 03:59:48 2017
@@ -1916,4 +1916,5 @@
        <entry key="template.recording.expiring.subj.room"> -- Room[{0}]</entry>
        <entry key="widget.recent.title">Recent Rooms</entry>
        <entry key="widget.recent.desc">This sections displays rooms recently 
opened by you</entry>
+       <entry key="files.root.group">Group files</entry>
 </properties>

Modified: 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_zh_CN.properties.xml
URL: 
http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_zh_CN.properties.xml?rev=1786840&r1=1786839&r2=1786840&view=diff
==============================================================================
--- 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_zh_CN.properties.xml
 (original)
+++ 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_zh_CN.properties.xml
 Tue Mar 14 03:59:48 2017
@@ -1901,4 +1901,5 @@
        <entry key="template.recording.expiring.subj.room"> -- Room[{0}]</entry>
        <entry key="widget.recent.title">Recent Rooms</entry>
        <entry key="widget.recent.desc">This sections displays rooms recently 
opened by you</entry>
+       <entry key="files.root.group">Group files</entry>
 </properties>

Modified: 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_zh_TW.properties.xml
URL: 
http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_zh_TW.properties.xml?rev=1786840&r1=1786839&r2=1786840&view=diff
==============================================================================
--- 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_zh_TW.properties.xml
 (original)
+++ 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_zh_TW.properties.xml
 Tue Mar 14 03:59:48 2017
@@ -1915,4 +1915,5 @@
        <entry key="template.recording.expiring.subj.room"> -- Room[{0}]</entry>
        <entry key="widget.recent.title">Recent Rooms</entry>
        <entry key="widget.recent.desc">This sections displays rooms recently 
opened by you</entry>
+       <entry key="files.root.group">Group files</entry>
 </properties>

Modified: 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/ConvertingErrorsDialog.html
URL: 
http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/ConvertingErrorsDialog.html?rev=1786840&r1=1786839&r2=1786840&view=diff
==============================================================================
--- 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/ConvertingErrorsDialog.html
 (original)
+++ 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/ConvertingErrorsDialog.html
 Tue Mar 14 03:59:48 2017
@@ -7,16 +7,16 @@
   to you under the Apache License, Version 2.0 (the
   "License"); you may not use this file except in compliance
   with the License.  You may obtain a copy of the License at
-  
+
       http://www.apache.org/licenses/LICENSE-2.0
-         
+
   Unless required by applicable law or agreed to in writing,
   software distributed under the License is distributed on an
   "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
   KIND, either express or implied.  See the License for the
   specific language governing permissions and limitations
   under the License.
-  
+
 -->
 <html xmlns:wicket="http://wicket.apache.org";>
 <wicket:panel>

Modified: 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/FileItemPanel.html
URL: 
http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/FileItemPanel.html?rev=1786840&r1=1786839&r2=1786840&view=diff
==============================================================================
--- 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/FileItemPanel.html
 (original)
+++ 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/FileItemPanel.html
 Tue Mar 14 03:59:48 2017
@@ -7,16 +7,16 @@
   to you under the Apache License, Version 2.0 (the
   "License"); you may not use this file except in compliance
   with the License.  You may obtain a copy of the License at
-  
+
       http://www.apache.org/licenses/LICENSE-2.0
-  
+
   Unless required by applicable law or agreed to in writing,
   software distributed under the License is distributed on an
   "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
   KIND, either express or implied.  See the License for the
   specific language governing permissions and limitations
   under the License.
-  
+
 -->
 <html xmlns:wicket="http://wicket.apache.org";>
 <wicket:extend><span wicket:id="errors" class="errors"></span></wicket:extend>

Modified: 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/FileItemTree.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/FileItemTree.java?rev=1786840&r1=1786839&r2=1786840&view=diff
==============================================================================
--- 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/FileItemTree.java
 (original)
+++ 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/FileItemTree.java
 Tue Mar 14 03:59:48 2017
@@ -73,6 +73,11 @@ public class FileItemTree extends Defaul
        }
 
        @Override
+       public OmTreeProvider getProvider() {
+               return (OmTreeProvider)super.getProvider();
+       }
+
+       @Override
        protected Component newContentComponent(String id, IModel<FileItem> 
node) {
                return new Folder<FileItem>(id, this, node) {
                        private static final long serialVersionUID = 1L;

Modified: 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/FileTreePanel.html
URL: 
http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/FileTreePanel.html?rev=1786840&r1=1786839&r2=1786840&view=diff
==============================================================================
--- 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/FileTreePanel.html
 (original)
+++ 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/FileTreePanel.html
 Tue Mar 14 03:59:48 2017
@@ -16,7 +16,7 @@
   KIND, either express or implied.  See the License for the
   specific language governing permissions and limitations
   under the License.
-  
+
 -->
 <html xmlns:wicket="http://wicket.apache.org";>
 <wicket:panel>

Modified: 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/FileTreePanel.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/FileTreePanel.java?rev=1786840&r1=1786839&r2=1786840&view=diff
==============================================================================
--- 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/FileTreePanel.java
 (original)
+++ 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/FileTreePanel.java
 Tue Mar 14 03:59:48 2017
@@ -96,7 +96,6 @@ public abstract class FileTreePanel exte
        private final ConfirmableBorderDialog trashConfirm;
        private ConfirmableAjaxBorder trashBorder;
        private final Long roomId;
-       private final OmTreeProvider tp;
        private boolean readOnly = true;
        private final Component createDir = new 
WebMarkupContainer("create").add(new AjaxEventBehavior("click") {
                private static final long serialVersionUID = 1L;
@@ -113,7 +112,7 @@ public abstract class FileTreePanel exte
                this.roomId = roomId;
                this.addFolder = addFolder;
                this.trashConfirm = trashConfirm;
-               tp = new OmTreeProvider(roomId);
+               final OmTreeProvider tp = new OmTreeProvider(roomId);
                select(tp.getRoot(), null, false, false);
                form.add(tree = new FileItemTree("tree", this, tp));
                
form.add(download.setVisible(false).setOutputMarkupPlaceholderTag(true));
@@ -245,7 +244,7 @@ public abstract class FileTreePanel exte
        public void setReadOnly(boolean readOnly, IPartialPageRequestHandler 
handler) {
                if (this.readOnly != readOnly) {
                        this.readOnly = readOnly;
-                       tp.refreshRoots(!readOnly);
+                       tree.getProvider().refreshRoots(!readOnly);
                        createDir.setEnabled(!readOnly);
                        createDir.add(AttributeModifier.replace("class", new 
StringBuilder(CREATE_DIR_CLASS).append(readOnly ? DISABLED_CLASS : "")));
                        upload.setEnabled(!readOnly);
@@ -273,14 +272,13 @@ public abstract class FileTreePanel exte
                f.setInserted(new Date());
                f.setType(Type.Folder);
                f.setOwnerId(p.getOwnerId());
+               f.setGroupId(p.getGroupId());
+               f.setRoomId(p.getRoomId());
                //TODO lastSelected.parent??
                f.setParentId(Type.Folder == p.getType() ? p.getId() : null);
                if (isRecording) {
-                       Recording r = (Recording)f;
-                       r.setGroupId(((Recording)p).getGroupId());
-                       getBean(RecordingDao.class).update(r);
+                       getBean(RecordingDao.class).update((Recording)f);
                } else {
-                       f.setRoomId(p.getRoomId());
                        
getBean(FileExplorerItemDao.class).update((FileExplorerItem)f);
                }
                update(target);
@@ -343,7 +341,7 @@ public abstract class FileTreePanel exte
        }
 
        public void select(FileItem fi, AjaxRequestTarget target, boolean 
shift, boolean ctrl) {
-               updateSelected(target);
+               updateSelected(target); //all previously selected are in update 
list
                if (ctrl) {
                        if (isSelected(fi)) {
                                selected.remove(fi.getHash());
@@ -354,7 +352,7 @@ public abstract class FileTreePanel exte
                } else if (shift && lastSelected != null && 
!lastSelected.getHash().equals(fi.getHash()) && sameParent(roomId, fi, 
lastSelected)) {
                        selected.clear();
                        String lastHash = null;
-                       for (FileItem f : 
((OmTreeProvider)tree.getProvider()).getByParent(fi, fi.getParentId())) {
+                       for (FileItem f : tree.getProvider().getByParent(fi, 
fi.getParentId())) {
                                if (lastHash == null) {
                                        if 
(f.getHash().equals(lastSelected.getHash())) {
                                                lastHash = fi.getHash();
@@ -375,7 +373,7 @@ public abstract class FileTreePanel exte
                        selected.put(fi.getHash(), fi);
                        lastSelected = fi;
                }
-               updateSelected(target);
+               updateSelected(target); //all finaly selected are in the update 
list
                if (target != null) {
                        target.add(trashBorder, 
download.setVisible(lastSelected.getType() == Type.Presentation || 
lastSelected.getType() == Type.Image));
                }

Modified: 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/FolderPanel.html
URL: 
http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/FolderPanel.html?rev=1786840&r1=1786839&r2=1786840&view=diff
==============================================================================
--- 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/FolderPanel.html
 (original)
+++ 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/FolderPanel.html
 Tue Mar 14 03:59:48 2017
@@ -7,16 +7,16 @@
   to you under the Apache License, Version 2.0 (the
   "License"); you may not use this file except in compliance
   with the License.  You may obtain a copy of the License at
-  
+
       http://www.apache.org/licenses/LICENSE-2.0
-          
+
   Unless required by applicable law or agreed to in writing,
   software distributed under the License is distributed on an
   "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
   KIND, either express or implied.  See the License for the
   specific language governing permissions and limitations
   under the License.
-  
+
 -->
 <html xmlns:wicket="http://wicket.apache.org";>
 <wicket:panel>

Modified: 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/FolderPanel.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/FolderPanel.java?rev=1786840&r1=1786839&r2=1786840&view=diff
==============================================================================
--- 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/FolderPanel.java
 (original)
+++ 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/FolderPanel.java
 Tue Mar 14 03:59:48 2017
@@ -52,7 +52,8 @@ public class FolderPanel extends Panel {
        public FolderPanel(String id, final IModel<? extends FileItem> model, 
final FileTreePanel treePanel) {
                super(id, model);
                FileItem r = model.getObject();
-               drop = r.getType() == Type.Folder ? new 
Droppable<FileItem>("drop", Model.of(r)) {
+               boolean editable = !treePanel.isReadOnly() && !r.isReadOnly();
+               drop = r.getType() == Type.Folder && editable ? new 
Droppable<FileItem>("drop", Model.of(r)) {
                        private static final long serialVersionUID = 1L;
 
                        @Override
@@ -78,7 +79,7 @@ public class FolderPanel extends Panel {
                                target.add(treePanel.trees);
                        }
                } : new WebMarkupContainer("drop");
-               if (r.getId() == null || treePanel.isReadOnly()) {
+               if (r.getId() == null || !editable) {
                        drag = new WebMarkupContainer("drag");
                } else {
                        drag = new Draggable<FileItem>("drag", Model.of(r)) {
@@ -94,7 +95,7 @@ public class FolderPanel extends Panel {
                        }.setContainment(treePanel.getContainment());
                        drag.add(AttributeAppender.append("class", r instanceof 
Recording ? "recorditem" : "fileitem"));
                }
-               drag.add(r.getId() == null || treePanel.isReadOnly() ? new 
Label("name", r.getName()) : new AjaxEditableLabel<String>("name", 
Model.of(model.getObject().getName())) {
+               Component name = r.getId() == null || !editable ? new 
Label("name", r.getName()) : new AjaxEditableLabel<String>("name", 
Model.of(model.getObject().getName())) {
                        private static final long serialVersionUID = 1L;
 
                        @Override
@@ -118,7 +119,8 @@ public class FolderPanel extends Panel {
                        public void onEdit(AjaxRequestTarget target) {
                                super.onEdit(target);
                        }
-               });
+               };
+               drag.add(name.add(AttributeAppender.append("title", 
r.getName())));
                add(drop.add(drag).setOutputMarkupId(true));
        }
 
@@ -137,10 +139,9 @@ public class FolderPanel extends Panel {
                f.setParentId(pid);
                f.setOwnerId(p.getOwnerId());
                f.setRoomId(p.getRoomId());
+               f.setGroupId(p.getGroupId());
                if (f instanceof Recording) {
-                       Recording r = (Recording)f;
-                       r.setGroupId(((Recording)p).getGroupId());
-                       getBean(RecordingDao.class).update(r);
+                       getBean(RecordingDao.class).update((Recording)f);
                } else {
                        
getBean(FileExplorerItemDao.class).update((FileExplorerItem)f);
                }

Modified: 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/OmTreeProvider.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/OmTreeProvider.java?rev=1786840&r1=1786839&r2=1786840&view=diff
==============================================================================
--- 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/OmTreeProvider.java
 (original)
+++ 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/OmTreeProvider.java
 Tue Mar 14 03:59:48 2017
@@ -22,6 +22,7 @@ import static org.apache.openmeetings.we
 import static org.apache.openmeetings.web.app.WebSession.getUserId;
 
 import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.Iterator;
 import java.util.List;
 
@@ -41,70 +42,76 @@ import org.apache.wicket.model.Model;
 
 public class OmTreeProvider implements ITreeProvider<FileItem> {
        private static final long serialVersionUID = 1L;
+       private static final List<Type> VIDEO_TYPES = 
Arrays.asList(Type.Folder, Type.Video);
        public static String RECORDINGS_MY = "recordings-my";
        public static String RECORDINGS_PUBLIC = "recordings-public";
        public static String RECORDINGS_GROUP = "recordings-group-%s";
        public static String FILES_MY = "files-my";
        public static String FILES_ROOM = "files-room";
+       public static String FILES_GROUP = "files-group-%s";
        private final Long roomId;
        private final List<FileItem> roots = new ArrayList<>();
+       private final String PUBLIC, GROUP;
 
        public OmTreeProvider(Long roomId) {
                this.roomId = roomId;
+               PUBLIC = Application.getString(861);
+               GROUP = Application.getString("files.root.group");
                refreshRoots(true);
        }
 
        public void refreshRoots(boolean all) {
-               roots.clear();
+               List<FileItem> fRoot = new ArrayList<>(), rRoot = new 
ArrayList<>();
                if (all) {
                        if (roomId != null) {
-                               roots.add(createFileRoot(null));
-                               roots.add(createFileRoot(roomId));
+                               FileItem r = 
createRoot(Application.getString(706), FILES_MY, false);
+                               r.setOwnerId(getUserId());
+                               fRoot.add(r);
                        }
-                       final String PUBLIC = Application.getString(861);
+               }
+               if (roomId != null) {
+                       FileItem r = createRoot(Application.getString(707), 
FILES_ROOM, false);
+                       r.setRoomId(roomId);
+                       roots.add(r);
+               }
+               if (all) {
                        {
-                               Recording r = 
createRecRoot(Application.getString(860), RECORDINGS_MY);
+                               FileItem r = 
createRoot(Application.getString(860), RECORDINGS_MY, true);
                                r.setOwnerId(getUserId());
-                               roots.add(r);
+                               rRoot.add(r);
                        }
                        {
-                               Recording r = createRecRoot(PUBLIC, 
RECORDINGS_PUBLIC);
-                               roots.add(r);
+                               FileItem r = createRoot(PUBLIC, 
RECORDINGS_PUBLIC, true);
+                               rRoot.add(r);
                        }
-                       for (GroupUser gu : 
getBean(UserDao.class).get(getUserId()).getGroupUsers()) {
-                               Group g = gu.getGroup();
-
-                               Recording r = createRecRoot(String.format("%s 
(%s)", PUBLIC, g.getName()), String.format(RECORDINGS_GROUP, g.getId()));
+               }
+               for (GroupUser gu : 
getBean(UserDao.class).get(getUserId()).getGroupUsers()) {
+                       Group g = gu.getGroup();
+                       if (all) {
+                               FileItem r = createRoot(String.format("%s 
(%s)", PUBLIC, g.getName()), String.format(RECORDINGS_GROUP, g.getId()), true);
                                r.setGroupId(g.getId());
-                               roots.add(r);
+                               rRoot.add(r);
                        }
+                       /*FileItem r = createRoot(String.format("%s (%s)", 
GROUP, g.getName()), String.format(FILES_GROUP, g.getId()), false);
+                       r.setGroupId(g.getId());
+                       r.setReadOnly(roomId == null); //group videos are 
read-only in recordings tree
+                       fRoot.add(r);*/
+               }
+               roots.clear();
+               if (roomId == null) {
+                       roots.addAll(rRoot);
+                       roots.addAll(fRoot);
                } else {
-                       if (roomId != null) {
-                               roots.add(createFileRoot(roomId));
-                       }
+                       roots.addAll(fRoot);
+                       roots.addAll(rRoot);
                }
        }
 
-       static Recording createRecRoot(String name, String hash) {
-               Recording r = new Recording();
-               r.setType(Type.Folder);
-               r.setName(name);
-               r.setHash(hash);
-               return r;
-       }
-
-       static FileExplorerItem createFileRoot(Long roomId) {
-               FileExplorerItem f = new FileExplorerItem();
-               f.setRoomId(roomId);
+       static FileItem createRoot(String name, String hash, boolean rec) {
+               FileItem f = rec ? new Recording() : new FileExplorerItem();
                f.setType(Type.Folder);
-               if (roomId == null) {
-                       f.setOwnerId(getUserId());
-                       f.setName(Application.getString(706));
-                       f.setHash(FILES_MY);
-               } else {
-                       f.setName(Application.getString(707));
-                       f.setHash(FILES_ROOM);
-               }
+               f.setName(name);
+               f.setHash(hash);
                return f;
        }
 
@@ -137,16 +144,23 @@ public class OmTreeProvider implements I
                        FileExplorerItemDao dao = 
getBean(FileExplorerItemDao.class);
                        List<FileExplorerItem> _list;
                        if (id == null) {
-                               if (node.getRoomId() == null) {
-                                       _list = 
dao.getByOwner(node.getOwnerId());
-                               } else {
+                               if (node.getRoomId() != null) {
                                        _list = dao.getByRoom(node.getRoomId());
+                               } else if (node.getGroupId() != null) {
+                                       _list = 
dao.getByGroup(node.getGroupId(), roomId == null ? VIDEO_TYPES : null);
+                               } else {
+                                       _list = 
dao.getByOwner(node.getOwnerId());
                                }
                        } else {
-                               _list = dao.getByParent(id);
+                               _list = dao.getByParent(id, roomId == null ? 
VIDEO_TYPES : null);
                        }
                        list.addAll(_list);
                }
+               if (node.isReadOnly()) {
+                       for (FileItem f : list) {
+                               f.setReadOnly(true);
+                       }
+               }
                return list;
        }
 

Modified: 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/HashPage.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/HashPage.java?rev=1786840&r1=1786839&r2=1786840&view=diff
==============================================================================
--- 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/HashPage.java
 (original)
+++ 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/HashPage.java
 Tue Mar 14 03:59:48 2017
@@ -61,7 +61,7 @@ public class HashPage extends BaseInited
        private static final String HASH = "secure";
        private final WebMarkupContainer recContainer = new 
WebMarkupContainer("panel-recording");
        private final VideoInfo vi = new VideoInfo("info", null);
-       private final VideoPlayer vp = new VideoPlayer("player", null);
+       private final VideoPlayer vp = new VideoPlayer("player");
        private String errorKey = "invalid.hash";
        private boolean error = true;
        private MainPanel mp = null;

Modified: 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomResourceReference.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomResourceReference.java?rev=1786840&r1=1786839&r2=1786840&view=diff
==============================================================================
--- 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomResourceReference.java
 (original)
+++ 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomResourceReference.java
 Tue Mar 14 03:59:48 2017
@@ -29,14 +29,15 @@ import static org.apache.openmeetings.we
 import java.io.File;
 
 import org.apache.openmeetings.db.dao.file.FileExplorerItemDao;
+import org.apache.openmeetings.db.entity.basic.Client;
 import org.apache.openmeetings.db.entity.file.FileExplorerItem;
 import org.apache.openmeetings.db.entity.file.FileItem;
+import org.apache.openmeetings.db.entity.file.FileItem.Type;
 import org.apache.openmeetings.web.app.WebSession;
 import org.apache.openmeetings.web.util.FileItemResourceReference;
 import org.apache.wicket.request.mapper.parameter.PageParameters;
 import org.apache.wicket.request.resource.IResource.Attributes;
 import org.apache.wicket.util.string.StringValue;
-import org.apache.wicket.util.string.Strings;
 
 public class RoomResourceReference extends 
FileItemResourceReference<FileExplorerItem> {
        private static final long serialVersionUID = 1L;
@@ -87,11 +88,15 @@ public class RoomResourceReference exten
                        //no-op expected
                }
                WebSession ws = WebSession.get();
-               if (id != null && ws.isSignedIn() && !Strings.isEmpty(uid) && 
getOnlineClient(uid) != null) {
-                       //FIXME TODO ADDITIONALLY CHECK Rights !! and room !!
-                       return getBean(FileExplorerItemDao.class).get(id);
+               Client c = getOnlineClient(uid);
+               if (id == null || !ws.isSignedIn() || c == null) {
+                       return null;
                }
-               return null;
+               FileExplorerItem f = getBean(FileExplorerItemDao.class).get(id);
+               // impossible to check file permission based on client, file 
can be dropped on WB
+               // and should be accessible to whole room
+               //FIXME TODO ADDITIONALLY CHECK Rights !! and room !!
+               return f;
        }
 
        protected File getFile(FileExplorerItem f, String ext) {
@@ -105,7 +110,7 @@ public class RoomResourceReference exten
 
        @Override
        protected File getFile(FileExplorerItem f) {
-               return getFile(f, null);
+               return getFile(f, Type.Video == f.getType() && preview ? 
EXTENSION_JPG : null);
        }
 
        @Override


Reply via email to