Author: solomax
Date: Wed Jul 20 18:05:00 2016
New Revision: 1753586

URL: http://svn.apache.org/viewvc?rev=1753586&view=rev
Log:
[OPENMEETINGS-1030] more work of files section: files drop

Removed:
    
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomSwfResourceReference.java
    
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomSwfResourceReference.java
Modified:
    
openmeetings/application/branches/3.2.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/red5/ScopeApplicationAdapter.java
    
openmeetings/application/branches/3.2.x/openmeetings-flash/src/main/swf/modules/conference/whiteboard/base/baseDrawImage.lzx
    
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.java
    
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomFileResourceReference.java
    
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.java
    
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPdfResourceReference.java
    
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomResourceReference.java
    
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/menu/RoomMenuPanel.java
    
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/record/RecordingResourceReference.java
    
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/FileItemResourceReference.java
    
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/webapp/css/room.css
    
openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/red5/ScopeApplicationAdapter.java
    
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.java
    
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomFileResourceReference.java
    
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPdfResourceReference.java
    
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomResourceReference.java
    
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/menu/RoomMenuPanel.java
    
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/record/RecordingResourceReference.java
    
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/FileItemResourceReference.java
    openmeetings/application/trunk/openmeetings-web/src/main/webapp/css/room.css

Modified: 
openmeetings/application/branches/3.2.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/red5/ScopeApplicationAdapter.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/red5/ScopeApplicationAdapter.java?rev=1753586&r1=1753585&r2=1753586&view=diff
==============================================================================
--- 
openmeetings/application/branches/3.2.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/red5/ScopeApplicationAdapter.java
 (original)
+++ 
openmeetings/application/branches/3.2.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/red5/ScopeApplicationAdapter.java
 Wed Jul 20 18:05:00 2016
@@ -123,7 +123,9 @@ public class ScopeApplicationAdapter ext
 
        @Override
        public void resultReceived(IPendingServiceCall arg0) {
-               // TODO Auto-generated method stub
+               if (log.isTraceEnabled()) {
+                       log.trace("resultReceived:: {}", arg0);
+               }
        }
 
        @Override
@@ -1367,12 +1369,22 @@ public class ScopeApplicationAdapter ext
                String fuid = UUID.randomUUID().toString();
                Client client = 
sessionManager.getClientByPublicSIDAnyServer(uid).getRcl();
                
+               String type = "n/a";
+               switch (fi.getType()) {
+                       case Image:
+                               type = "image";
+                               break;
+                       case Presentation:
+                               type = "swf";
+                               break;
+                       default:
+               }
                sendToWhiteboard(client, Arrays.asList(
                                "whiteboard"
                                , new Date()
                                , "draw"
                                , Arrays.asList(
-                                       "swf" // 0
+                                       type // 0
                                        , url // urlname
                                        , "--dummy--" // baseurl
                                        , fi.getHash() // fileName //3
@@ -1661,8 +1673,7 @@ public class ScopeApplicationAdapter ext
                                                        if (filter(conn)) {
                                                                continue;
                                                        }
-                                                       Object[] msg = 
newMessage instanceof Object[] ? (Object[])newMessage : new Object[] { 
newMessage };
-                                                       
((IServiceCapableConnection) conn).invoke(remoteMethodName, msg, 
ScopeApplicationAdapter.this);
+                                                       
((IServiceCapableConnection) conn).invoke(remoteMethodName, new Object[] { 
newMessage }, ScopeApplicationAdapter.this);
                                                        count++;
                                                }
                                        }

Modified: 
openmeetings/application/branches/3.2.x/openmeetings-flash/src/main/swf/modules/conference/whiteboard/base/baseDrawImage.lzx
URL: 
http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-flash/src/main/swf/modules/conference/whiteboard/base/baseDrawImage.lzx?rev=1753586&r1=1753585&r2=1753586&view=diff
==============================================================================
--- 
openmeetings/application/branches/3.2.x/openmeetings-flash/src/main/swf/modules/conference/whiteboard/base/baseDrawImage.lzx
 (original)
+++ 
openmeetings/application/branches/3.2.x/openmeetings-flash/src/main/swf/modules/conference/whiteboard/base/baseDrawImage.lzx
 Wed Jul 20 18:05:00 2016
@@ -67,18 +67,12 @@
         <![CDATA[
             if ($debug) Debug.write("addImageToLayer ",urlname);
                
-                       if ($debug) Debug.write("addImageToLayer urlname : ", 
canvas.getUrl() + 'DownloadHandler');
-                       var src = canvas.getUrl() + 'DownloadHandler' + 
'?fileName=' + encodeURIComponent(fileName) + 
-                               '&moduleName=' + moduleName +
-                               '&parentPath=' + encodeURIComponent(parentPath) 
+
-                               '&room_id=' + room + 
-                               '&sid=' + canvas.sessionId;
-       
-               if ($debug) Debug.write("addImageToLayer -src- ",src);
+                       var downloadurl = canvas.getUrl() + urlname + "?uid=" + 
canvas.publicSID;
+                       if ($debug) Debug.write("addImageToLayer urlname : ", 
downloadurl);
                        if ($debug) Debug.write("alterModus: ",alterModus);
                        
                        this.currentlayer = new lz.imageForDrawView(obj,{
-                               src:src,refObj:this,name:nameing,x:posx,y:posy,
+                               src: 
downloadurl,refObj:this,name:nameing,x:posx,y:posy,
                                remotewidth:width,remoteheight:height,
                                downloadurl:urlname,alterModus:alterModus,
                                
baseurl:baseurl,fileName:fileName,moduleName:moduleName,

Modified: 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.java?rev=1753586&r1=1753585&r2=1753586&view=diff
==============================================================================
--- 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.java
 (original)
+++ 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.java
 Wed Jul 20 18:05:00 2016
@@ -55,7 +55,7 @@ import org.apache.openmeetings.web.pages
 import org.apache.openmeetings.web.pages.SwfPage;
 import org.apache.openmeetings.web.pages.auth.SignInPage;
 import org.apache.openmeetings.web.pages.install.InstallWizardPage;
-import org.apache.openmeetings.web.room.RoomSwfResourceReference;
+import org.apache.openmeetings.web.room.RoomResourceReference;
 import org.apache.openmeetings.web.user.dashboard.MyRoomsWidgetDescriptor;
 import org.apache.openmeetings.web.user.dashboard.RssWidgetDescriptor;
 import org.apache.openmeetings.web.user.dashboard.StartWidgetDescriptor;
@@ -150,7 +150,7 @@ public class Application extends Authent
                mountResource("/recordings/mp4/${id}", new 
Mp4RecordingResourceReference());
                mountResource("/recordings/ogg/${id}", new 
OggRecordingResourceReference());
                mountResource("/recordings/jpg/${id}", new 
JpgRecordingResourceReference()); //should be in sync with VideoPlayer
-               mountResource("/room/swf/${id}", new 
RoomSwfResourceReference());
+               mountResource("/room/file/${id}", new RoomResourceReference());
                mountResource("/profile/${id}", new 
ProfileImageResourceReference());
        }
 

Modified: 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomFileResourceReference.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomFileResourceReference.java?rev=1753586&r1=1753585&r2=1753586&view=diff
==============================================================================
--- 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomFileResourceReference.java
 (original)
+++ 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomFileResourceReference.java
 Wed Jul 20 18:05:00 2016
@@ -31,7 +31,7 @@ public class RoomFileResourceReference e
        }
 
        @Override
-       protected String getMimeType() {
+       protected String getMimeType(FileExplorerItem r) {
                return "application/octet-stream";
        }
 

Modified: 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.java?rev=1753586&r1=1753585&r2=1753586&view=diff
==============================================================================
--- 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.java
 (original)
+++ 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.java
 Wed Jul 20 18:05:00 2016
@@ -170,7 +170,7 @@ public class RoomPanel extends BasePanel
                                Object o = component.getDefaultModelObject();
                                if (activeWbId > -1 && o instanceof FileItem) {
                                        FileItem fi = (FileItem)o;
-                                       String url = urlFor(new 
RoomSwfResourceReference(), new PageParameters().add("id", 
fi.getId()).add("uid", getClient().getUid())).toString();
+                                       String url = urlFor(new 
RoomResourceReference(), new PageParameters().add("id", fi.getId())).toString();
                                        getBean(ScopeApplicationAdapter.class)
                                                
.sendToWhiteboard(getClient().getUid(), activeWbId, fi, url);
                                }

Modified: 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPdfResourceReference.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPdfResourceReference.java?rev=1753586&r1=1753585&r2=1753586&view=diff
==============================================================================
--- 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPdfResourceReference.java
 (original)
+++ 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPdfResourceReference.java
 Wed Jul 20 18:05:00 2016
@@ -30,7 +30,7 @@ public class RoomPdfResourceReference ex
        }
 
        @Override
-       protected String getMimeType() {
+       protected String getMimeType(FileExplorerItem r) {
                return "application/pdf";
        }
 

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=1753586&r1=1753585&r2=1753586&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
 Wed Jul 20 18:05:00 2016
@@ -33,14 +33,35 @@ import org.apache.wicket.request.resourc
 import org.apache.wicket.util.string.StringValue;
 import org.apache.wicket.util.string.Strings;
 
-public abstract class RoomResourceReference extends 
FileItemResourceReference<FileExplorerItem> {
+public class RoomResourceReference extends 
FileItemResourceReference<FileExplorerItem> {
        private static final long serialVersionUID = 1L;
+       public static final String DEFAULT_NAME = "wb-room-file";
+
+       public RoomResourceReference() {
+               super(DEFAULT_NAME);
+       }
 
        public RoomResourceReference(String name) {
                super(name);
        }
 
        @Override
+       protected String getMimeType(FileExplorerItem r) {
+               String mime = null;
+               switch (r.getType()) {
+                       case Image:
+                               mime = "image/jpeg";
+                               break;
+                       case Presentation:
+                               mime = "application/x-shockwave-flash";
+                               break;
+                       default:
+                               throw new RuntimeException("Not supported");
+               }
+               return mime;
+       }
+       
+       @Override
        protected FileExplorerItem getFileItem(Attributes attributes) {
                PageParameters params = attributes.getParameters();
                StringValue _id = params.get("id");
@@ -53,14 +74,38 @@ public abstract class RoomResourceRefere
                }
                WebSession ws = WebSession.get();
                if (id != null && ws.isSignedIn() && !Strings.isEmpty(uid) && 
getOnlineClient(uid) != null) {
-                       //TODO ADDITIONALLY CHECK Rights !! and room !!
+                       //FIXME TODO ADDITIONALLY CHECK Rights !! and room !!
                        return getBean(FileExplorerItemDao.class).get(id);
                }
                return null;
        }
 
        protected File getFile(FileExplorerItem r, String ext) {
-               File d = new File(OmFileHelper.getUploadFilesDir(), 
r.getHash());
-               return new File(d, String.format("%s.%s", r.getHash(), ext));
+               File result = null;
+               switch (r.getType()) {
+                       case Image: {
+                               result = new 
File(OmFileHelper.getUploadFilesDir(), String.format("%s.%s", r.getHash(), ext 
== null ? "jpg" : ext));
+                       }
+                               break;
+                       case Presentation: {
+                               File d = new 
File(OmFileHelper.getUploadFilesDir(), r.getHash());
+                               result = new File(d, String.format("%s.%s", 
r.getHash(), ext == null ? "swf" : ext));
+                       }
+                               break;
+                       default:
+                               throw new RuntimeException("Not supported");
+               }
+               return result;
+       }
+
+       @Override
+       protected File getFile(FileExplorerItem r) {
+               return getFile(r, null);
+       }
+       
+       @Override
+       protected String getFileName(FileExplorerItem r) {
+               // TODO Auto-generated method stub
+               return null;
        }
 }

Modified: 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/menu/RoomMenuPanel.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/menu/RoomMenuPanel.java?rev=1753586&r1=1753585&r2=1753586&view=diff
==============================================================================
--- 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/menu/RoomMenuPanel.java
 (original)
+++ 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/menu/RoomMenuPanel.java
 Wed Jul 20 18:05:00 2016
@@ -264,8 +264,8 @@ public class RoomMenuPanel extends Panel
                boolean notExternalUser = u.getType() != User.Type.external && 
u.getType() != User.Type.contact;
                exitMenuItem.setEnabled(notExternalUser);//TODO check this
                filesMenu.setEnabled(room.getSidebar().isShowFiles());
-               actionsMenu.setEnabled(!r.isHidden(RoomElement.ActionMenu) && 
r.isAllowUserQuestions());
                boolean moder = room.getClient().hasRight(Room.Right.moderator);
+               actionsMenu.setEnabled((moder 
&&!r.isHidden(RoomElement.ActionMenu)) || (!moder && r.isAllowUserQuestions()));
                inviteMenuItem.setEnabled(notExternalUser && moder);
                //TODO add check "sharing started"
                boolean shareVisible = room.screenShareAllowed();

Modified: 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/record/RecordingResourceReference.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/record/RecordingResourceReference.java?rev=1753586&r1=1753585&r2=1753586&view=diff
==============================================================================
--- 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/record/RecordingResourceReference.java
 (original)
+++ 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/record/RecordingResourceReference.java
 Wed Jul 20 18:05:00 2016
@@ -46,6 +46,13 @@ public abstract class RecordingResourceR
        }
 
        @Override
+       public String getMimeType(Recording r) {
+               return getMimeType();
+       }
+       
+       public abstract String getMimeType();
+       
+       @Override
        protected Recording getFileItem(Attributes attributes) {
                PageParameters params = attributes.getParameters();
                StringValue _id = params.get("id");

Modified: 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/FileItemResourceReference.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/FileItemResourceReference.java?rev=1753586&r1=1753585&r2=1753586&view=diff
==============================================================================
--- 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/FileItemResourceReference.java
 (original)
+++ 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/FileItemResourceReference.java
 Wed Jul 20 18:05:00 2016
@@ -46,15 +46,16 @@ public abstract class FileItemResourceRe
                return new FileSystemResource() {
                        private static final long serialVersionUID = 1L;
                        private File file;
+                       private T r;
                        
                        @Override
                        protected String getMimeType() throws IOException {
-                               return 
FileItemResourceReference.this.getMimeType();
+                               return 
FileItemResourceReference.this.getMimeType(r);
                        }
                        
                        @Override
                        protected ResourceResponse 
newResourceResponse(Attributes attributes) {
-                               T r = getFileItem(attributes);
+                               r = getFileItem(attributes);
                                if (r != null) {
                                        file = getFile(r);
                                        ResourceResponse rr = 
createResourceResponse(file.toPath());
@@ -70,7 +71,7 @@ public abstract class FileItemResourceRe
                };
        }
        
-       protected abstract String getMimeType();
+       protected abstract String getMimeType(T r);
        protected abstract String getFileName(T r);
        protected abstract File getFile(T r);
        protected abstract T getFileItem(Attributes attributes);

Modified: 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/webapp/css/room.css
URL: 
http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-web/src/main/webapp/css/room.css?rev=1753586&r1=1753585&r2=1753586&view=diff
==============================================================================
--- 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/webapp/css/room.css
 (original)
+++ 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/webapp/css/room.css
 Wed Jul 20 18:05:00 2016
@@ -34,8 +34,12 @@
 .ui-icon.status-mod {
        background-image: url(images/status-mod.png);
 }
-.top.room.menu.exit {
-       padding-left: 30px;
+.room.menu .ui-menu .ui-menu-item {
+       padding-left: 5px;
+       padding-right: 0;
+}
+.room.menu .top.room.menu.exit {
+       padding-left: 0;
 }
 .room.menu.right {
        position: absolute;

Modified: 
openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/red5/ScopeApplicationAdapter.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/red5/ScopeApplicationAdapter.java?rev=1753586&r1=1753585&r2=1753586&view=diff
==============================================================================
--- 
openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/red5/ScopeApplicationAdapter.java
 (original)
+++ 
openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/red5/ScopeApplicationAdapter.java
 Wed Jul 20 18:05:00 2016
@@ -123,7 +123,9 @@ public class ScopeApplicationAdapter ext
 
        @Override
        public void resultReceived(IPendingServiceCall arg0) {
-               // TODO Auto-generated method stub
+               if (log.isTraceEnabled()) {
+                       log.trace("resultReceived:: {}", arg0);
+               }
        }
 
        @Override
@@ -1367,12 +1369,22 @@ public class ScopeApplicationAdapter ext
                String fuid = UUID.randomUUID().toString();
                Client client = 
sessionManager.getClientByPublicSIDAnyServer(uid).getRcl();
                
+               String type = "n/a";
+               switch (fi.getType()) {
+                       case Image:
+                               type = "image";
+                               break;
+                       case Presentation:
+                               type = "swf";
+                               break;
+                       default:
+               }
                sendToWhiteboard(client, Arrays.asList(
                                "whiteboard"
                                , new Date()
                                , "draw"
                                , Arrays.asList(
-                                       "swf" // 0
+                                       type // 0
                                        , url // urlname
                                        , "--dummy--" // baseurl
                                        , fi.getHash() // fileName //3
@@ -1661,8 +1673,7 @@ public class ScopeApplicationAdapter ext
                                                        if (filter(conn)) {
                                                                continue;
                                                        }
-                                                       Object[] msg = 
newMessage instanceof Object[] ? (Object[])newMessage : new Object[] { 
newMessage };
-                                                       
((IServiceCapableConnection) conn).invoke(remoteMethodName, msg, 
ScopeApplicationAdapter.this);
+                                                       
((IServiceCapableConnection) conn).invoke(remoteMethodName, new Object[] { 
newMessage }, ScopeApplicationAdapter.this);
                                                        count++;
                                                }
                                        }

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=1753586&r1=1753585&r2=1753586&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
 Wed Jul 20 18:05:00 2016
@@ -55,7 +55,7 @@ import org.apache.openmeetings.web.pages
 import org.apache.openmeetings.web.pages.SwfPage;
 import org.apache.openmeetings.web.pages.auth.SignInPage;
 import org.apache.openmeetings.web.pages.install.InstallWizardPage;
-import org.apache.openmeetings.web.room.RoomSwfResourceReference;
+import org.apache.openmeetings.web.room.RoomResourceReference;
 import org.apache.openmeetings.web.user.dashboard.MyRoomsWidgetDescriptor;
 import org.apache.openmeetings.web.user.dashboard.RssWidgetDescriptor;
 import org.apache.openmeetings.web.user.dashboard.StartWidgetDescriptor;
@@ -150,7 +150,7 @@ public class Application extends Authent
                mountResource("/recordings/mp4/${id}", new 
Mp4RecordingResourceReference());
                mountResource("/recordings/ogg/${id}", new 
OggRecordingResourceReference());
                mountResource("/recordings/jpg/${id}", new 
JpgRecordingResourceReference()); //should be in sync with VideoPlayer
-               mountResource("/room/swf/${id}", new 
RoomSwfResourceReference());
+               mountResource("/room/file/${id}", new RoomResourceReference());
                mountResource("/profile/${id}", new 
ProfileImageResourceReference());
        }
 

Modified: 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomFileResourceReference.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomFileResourceReference.java?rev=1753586&r1=1753585&r2=1753586&view=diff
==============================================================================
--- 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomFileResourceReference.java
 (original)
+++ 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomFileResourceReference.java
 Wed Jul 20 18:05:00 2016
@@ -31,7 +31,7 @@ public class RoomFileResourceReference e
        }
 
        @Override
-       protected String getMimeType() {
+       protected String getMimeType(FileExplorerItem r) {
                return "application/octet-stream";
        }
 

Modified: 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPdfResourceReference.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPdfResourceReference.java?rev=1753586&r1=1753585&r2=1753586&view=diff
==============================================================================
--- 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPdfResourceReference.java
 (original)
+++ 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPdfResourceReference.java
 Wed Jul 20 18:05:00 2016
@@ -30,7 +30,7 @@ public class RoomPdfResourceReference ex
        }
 
        @Override
-       protected String getMimeType() {
+       protected String getMimeType(FileExplorerItem r) {
                return "application/pdf";
        }
 

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=1753586&r1=1753585&r2=1753586&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
 Wed Jul 20 18:05:00 2016
@@ -33,14 +33,35 @@ import org.apache.wicket.request.resourc
 import org.apache.wicket.util.string.StringValue;
 import org.apache.wicket.util.string.Strings;
 
-public abstract class RoomResourceReference extends 
FileItemResourceReference<FileExplorerItem> {
+public class RoomResourceReference extends 
FileItemResourceReference<FileExplorerItem> {
        private static final long serialVersionUID = 1L;
+       public static final String DEFAULT_NAME = "wb-room-file";
+
+       public RoomResourceReference() {
+               super(DEFAULT_NAME);
+       }
 
        public RoomResourceReference(String name) {
                super(name);
        }
 
        @Override
+       protected String getMimeType(FileExplorerItem r) {
+               String mime = null;
+               switch (r.getType()) {
+                       case Image:
+                               mime = "image/jpeg";
+                               break;
+                       case Presentation:
+                               mime = "application/x-shockwave-flash";
+                               break;
+                       default:
+                               throw new RuntimeException("Not supported");
+               }
+               return mime;
+       }
+       
+       @Override
        protected FileExplorerItem getFileItem(Attributes attributes) {
                PageParameters params = attributes.getParameters();
                StringValue _id = params.get("id");
@@ -53,14 +74,38 @@ public abstract class RoomResourceRefere
                }
                WebSession ws = WebSession.get();
                if (id != null && ws.isSignedIn() && !Strings.isEmpty(uid) && 
getOnlineClient(uid) != null) {
-                       //TODO ADDITIONALLY CHECK Rights !! and room !!
+                       //FIXME TODO ADDITIONALLY CHECK Rights !! and room !!
                        return getBean(FileExplorerItemDao.class).get(id);
                }
                return null;
        }
 
        protected File getFile(FileExplorerItem r, String ext) {
-               File d = new File(OmFileHelper.getUploadFilesDir(), 
r.getHash());
-               return new File(d, String.format("%s.%s", r.getHash(), ext));
+               File result = null;
+               switch (r.getType()) {
+                       case Image: {
+                               result = new 
File(OmFileHelper.getUploadFilesDir(), String.format("%s.%s", r.getHash(), ext 
== null ? "jpg" : ext));
+                       }
+                               break;
+                       case Presentation: {
+                               File d = new 
File(OmFileHelper.getUploadFilesDir(), r.getHash());
+                               result = new File(d, String.format("%s.%s", 
r.getHash(), ext == null ? "swf" : ext));
+                       }
+                               break;
+                       default:
+                               throw new RuntimeException("Not supported");
+               }
+               return result;
+       }
+
+       @Override
+       protected File getFile(FileExplorerItem r) {
+               return getFile(r, null);
+       }
+       
+       @Override
+       protected String getFileName(FileExplorerItem r) {
+               // TODO Auto-generated method stub
+               return null;
        }
 }

Modified: 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/menu/RoomMenuPanel.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/menu/RoomMenuPanel.java?rev=1753586&r1=1753585&r2=1753586&view=diff
==============================================================================
--- 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/menu/RoomMenuPanel.java
 (original)
+++ 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/menu/RoomMenuPanel.java
 Wed Jul 20 18:05:00 2016
@@ -264,8 +264,8 @@ public class RoomMenuPanel extends Panel
                boolean notExternalUser = u.getType() != User.Type.external && 
u.getType() != User.Type.contact;
                exitMenuItem.setEnabled(notExternalUser);//TODO check this
                filesMenu.setEnabled(room.getSidebar().isShowFiles());
-               actionsMenu.setEnabled(!r.isHidden(RoomElement.ActionMenu) && 
r.isAllowUserQuestions());
                boolean moder = room.getClient().hasRight(Room.Right.moderator);
+               actionsMenu.setEnabled((moder 
&&!r.isHidden(RoomElement.ActionMenu)) || (!moder && r.isAllowUserQuestions()));
                inviteMenuItem.setEnabled(notExternalUser && moder);
                //TODO add check "sharing started"
                boolean shareVisible = room.screenShareAllowed();

Modified: 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/record/RecordingResourceReference.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/record/RecordingResourceReference.java?rev=1753586&r1=1753585&r2=1753586&view=diff
==============================================================================
--- 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/record/RecordingResourceReference.java
 (original)
+++ 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/record/RecordingResourceReference.java
 Wed Jul 20 18:05:00 2016
@@ -46,6 +46,13 @@ public abstract class RecordingResourceR
        }
 
        @Override
+       public String getMimeType(Recording r) {
+               return getMimeType();
+       }
+       
+       public abstract String getMimeType();
+       
+       @Override
        protected Recording getFileItem(Attributes attributes) {
                PageParameters params = attributes.getParameters();
                StringValue _id = params.get("id");

Modified: 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/FileItemResourceReference.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/FileItemResourceReference.java?rev=1753586&r1=1753585&r2=1753586&view=diff
==============================================================================
--- 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/FileItemResourceReference.java
 (original)
+++ 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/FileItemResourceReference.java
 Wed Jul 20 18:05:00 2016
@@ -46,15 +46,16 @@ public abstract class FileItemResourceRe
                return new FileSystemResource() {
                        private static final long serialVersionUID = 1L;
                        private File file;
+                       private T r;
                        
                        @Override
                        protected String getMimeType() throws IOException {
-                               return 
FileItemResourceReference.this.getMimeType();
+                               return 
FileItemResourceReference.this.getMimeType(r);
                        }
                        
                        @Override
                        protected ResourceResponse 
newResourceResponse(Attributes attributes) {
-                               T r = getFileItem(attributes);
+                               r = getFileItem(attributes);
                                if (r != null) {
                                        file = getFile(r);
                                        ResourceResponse rr = 
createResourceResponse(file.toPath());
@@ -70,7 +71,7 @@ public abstract class FileItemResourceRe
                };
        }
        
-       protected abstract String getMimeType();
+       protected abstract String getMimeType(T r);
        protected abstract String getFileName(T r);
        protected abstract File getFile(T r);
        protected abstract T getFileItem(Attributes attributes);

Modified: 
openmeetings/application/trunk/openmeetings-web/src/main/webapp/css/room.css
URL: 
http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/webapp/css/room.css?rev=1753586&r1=1753585&r2=1753586&view=diff
==============================================================================
--- 
openmeetings/application/trunk/openmeetings-web/src/main/webapp/css/room.css 
(original)
+++ 
openmeetings/application/trunk/openmeetings-web/src/main/webapp/css/room.css 
Wed Jul 20 18:05:00 2016
@@ -34,8 +34,12 @@
 .ui-icon.status-mod {
        background-image: url(images/status-mod.png);
 }
-.top.room.menu.exit {
-       padding-left: 30px;
+.room.menu .ui-menu .ui-menu-item {
+       padding-left: 5px;
+       padding-right: 0;
+}
+.room.menu .top.room.menu.exit {
+       padding-left: 0;
 }
 .room.menu.right {
        position: absolute;


Reply via email to