Author: solomax
Date: Wed May 15 20:04:37 2013
New Revision: 1483058

URL: http://svn.apache.org/r1483058
Log:
[OPENMEETINGS-626] Recordings panel:
        refresh;
        new folder (basic);
        file info;

Added:
    
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/util/OmUrlFragment.java
      - copied, changed from r1482864, 
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/util/UrlFragment.java
Removed:
    
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/util/UrlFragment.java
Modified:
    openmeetings/trunk/singlewebapp/WebContent/openmeetings/css/theme.css
    openmeetings/trunk/singlewebapp/build.xml
    openmeetings/trunk/singlewebapp/ivy.xml
    
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/app/WebSession.java
    
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/common/MenuPanel.java
    
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/pages/BasePage.java
    
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/pages/MainPage.java
    
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/user/dashboard/StartWidgetView.java
    
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/user/dashboard/WelcomeWidgetView.java
    
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/user/record/RecordingsPanel.html
    
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/user/record/RecordingsPanel.java
    
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/user/rooms/RoomsSelectorPanel.java

Modified: openmeetings/trunk/singlewebapp/WebContent/openmeetings/css/theme.css
URL: 
http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/WebContent/openmeetings/css/theme.css?rev=1483058&r1=1483057&r2=1483058&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/WebContent/openmeetings/css/theme.css 
(original)
+++ openmeetings/trunk/singlewebapp/WebContent/openmeetings/css/theme.css Wed 
May 15 20:04:37 2013
@@ -602,6 +602,7 @@ div.tableWrapper {
 }
 .recording .files {
        width: 250px;
+       border: 1px solid #ccc;
 }
 .recording .files .trees {
        min-height: 400px;
@@ -609,6 +610,11 @@ div.tableWrapper {
 .recording .files .sizes table, .recording .files .info table {
        width: 100%;
 }
+.recording .files .info input {
+       width: 100%;
+       padding-right: 5px;
+       padding-left: 5px;
+}
 .recording .video {
 }
 .align-left {
@@ -622,7 +628,6 @@ div.tableWrapper {
 }
 .refresh-icon {
        background: url(../images/refresh.gif) no-repeat;
-       cursor: default;
        width: 18px;
        height: 18px;
        border: none;
@@ -631,7 +636,6 @@ div.tableWrapper {
 }
 .trash-icon {
        background: url(images/trash.png) no-repeat;
-       cursor: default;
        width: 18px;
        height: 18px;
        border: none;
@@ -640,7 +644,6 @@ div.tableWrapper {
 }
 .folder-create-icon {
        background: url(images/folder_add.png) no-repeat;
-       cursor: default;
        width: 18px;
        height: 18px;
        border: none;

Modified: openmeetings/trunk/singlewebapp/build.xml
URL: 
http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/build.xml?rev=1483058&r1=1483057&r2=1483058&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/build.xml (original)
+++ openmeetings/trunk/singlewebapp/build.xml Wed May 15 20:04:37 2013
@@ -281,6 +281,13 @@
                        </fileset>
                </copy>
        </target>
+
+       <!-- TODO remove copy/paste clean-up targets -->
+       <target name="web.only" depends="jar.web.only">
+               <copy todir="${dist.webapps.dir}" overwrite="true" force="true">
+                       <fileset dir="${webcontent.src.dir}/openmeetings" />
+               </copy>
+       </target>
        
        <target name="jar.web.only" depends="enhance.only.norefresh, 
current_revision">
                <tstamp prefix="build">

Modified: openmeetings/trunk/singlewebapp/ivy.xml
URL: 
http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/ivy.xml?rev=1483058&r1=1483057&r2=1483058&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/ivy.xml (original)
+++ openmeetings/trunk/singlewebapp/ivy.xml Wed May 15 20:04:37 2013
@@ -273,7 +273,7 @@
                        <include type="jar" />
                </dependency>
                -->
-               <dependency org="org.wicketstuff" 
name="wicketstuff-urlfragment" rev="6.0-20130515.002826-2" 
conf="openmeetings->*" transitive="false">
+               <dependency org="org.wicketstuff" 
name="wicketstuff-urlfragment" rev="6.0-20130515.164331-3" 
conf="openmeetings->*" transitive="false">
                        <include type="jar" />
                </dependency>
                

Modified: 
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/app/WebSession.java
URL: 
http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/app/WebSession.java?rev=1483058&r1=1483057&r2=1483058&view=diff
==============================================================================
--- 
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/app/WebSession.java
 (original)
+++ 
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/app/WebSession.java
 Wed May 15 20:04:37 2013
@@ -44,7 +44,7 @@ import org.apache.openmeetings.web.user.
 import org.apache.openmeetings.web.user.dashboard.RssWidgetDescriptor;
 import org.apache.openmeetings.web.user.dashboard.StartWidgetDescriptor;
 import org.apache.openmeetings.web.user.dashboard.WelcomeWidgetDescriptor;
-import org.apache.openmeetings.web.util.UrlFragment;
+import org.apache.openmeetings.web.util.OmUrlFragment;
 import 
org.apache.wicket.authroles.authentication.AbstractAuthenticatedWebSession;
 import org.apache.wicket.authroles.authorization.strategies.role.Roles;
 import org.apache.wicket.request.Request;
@@ -60,7 +60,7 @@ public class WebSession extends Abstract
        private long userId = -1;
        private long userLevel = -1;
        private String SID = null;
-       private UrlFragment area = null;
+       private OmUrlFragment area = null;
        private TimeZone tz;
        private SimpleDateFormat ISO8601FORMAT = new 
SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssZ");
        private Dashboard dashboard;
@@ -159,11 +159,11 @@ public class WebSession extends Abstract
                return get().userLevel;
        }
 
-       public UrlFragment getArea() {
+       public OmUrlFragment getArea() {
                return area;
        }
 
-       public void setArea(UrlFragment area) {
+       public void setArea(OmUrlFragment area) {
                this.area = area;
        }
 

Modified: 
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/common/MenuPanel.java
URL: 
http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/common/MenuPanel.java?rev=1483058&r1=1483057&r2=1483058&view=diff
==============================================================================
--- 
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/common/MenuPanel.java
 (original)
+++ 
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/common/MenuPanel.java
 Wed May 15 20:04:37 2013
@@ -24,9 +24,9 @@ import org.apache.openmeetings.persisten
 import org.apache.openmeetings.web.app.Application;
 import org.apache.openmeetings.web.app.WebSession;
 import org.apache.openmeetings.web.pages.MainPage;
-import org.apache.openmeetings.web.util.UrlFragment;
-import org.apache.openmeetings.web.util.UrlFragment.MenuActions;
-import org.apache.openmeetings.web.util.UrlFragment.MenuParams;
+import org.apache.openmeetings.web.util.OmUrlFragment;
+import org.apache.openmeetings.web.util.OmUrlFragment.MenuActions;
+import org.apache.openmeetings.web.util.OmUrlFragment.MenuParams;
 import org.apache.wicket.ajax.AjaxRequestTarget;
 import org.apache.wicket.ajax.markup.html.AjaxLink;
 import org.apache.wicket.markup.html.basic.Label;
@@ -73,7 +73,7 @@ public class MenuPanel extends BasePanel
                                                        }
                                                        
                                                        public void 
onClick(AjaxRequestTarget target) {
-                                                               
((MainPage)getPage()).updateContents(new UrlFragment(action, params), target);
+                                                               
((MainPage)getPage()).updateContents(new OmUrlFragment(action, params), target);
                                                        }
                                                });
                                        }

Modified: 
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/pages/BasePage.java
URL: 
http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/pages/BasePage.java?rev=1483058&r1=1483057&r2=1483058&view=diff
==============================================================================
--- 
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/pages/BasePage.java
 (original)
+++ 
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/pages/BasePage.java
 Wed May 15 20:04:37 2013
@@ -26,8 +26,8 @@ import org.apache.openmeetings.persisten
 import org.apache.openmeetings.web.app.Application;
 import org.apache.openmeetings.web.app.WebSession;
 import org.apache.openmeetings.web.common.HeaderPanel;
-import org.apache.openmeetings.web.util.UrlFragment;
-import org.apache.openmeetings.web.util.UrlFragment.AreaKeys;
+import org.apache.openmeetings.web.util.OmUrlFragment;
+import org.apache.openmeetings.web.util.OmUrlFragment.AreaKeys;
 import org.apache.wicket.AttributeModifier;
 import org.apache.wicket.markup.head.IHeaderResponse;
 import org.apache.wicket.markup.head.JavaScriptHeaderItem;
@@ -57,11 +57,11 @@ public abstract class BasePage extends A
                add(new HeaderPanel("header", appName));
        }
        
-       protected UrlFragment getUrlFragment(IRequestParameters params) {
+       protected OmUrlFragment getUrlFragment(IRequestParameters params) {
                for (AreaKeys key : AreaKeys.values()) {
                        StringValue type = params.getParameterValue(key.name());
                        if (!type.isEmpty()) {
-                               return new UrlFragment(key, type.toString());
+                               return new OmUrlFragment(key, type.toString());
                        }
                }
                return null;

Modified: 
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/pages/MainPage.java
URL: 
http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/pages/MainPage.java?rev=1483058&r1=1483057&r2=1483058&view=diff
==============================================================================
--- 
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/pages/MainPage.java
 (original)
+++ 
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/pages/MainPage.java
 Wed May 15 20:04:37 2013
@@ -19,11 +19,11 @@
 package org.apache.openmeetings.web.pages;
 
 import static org.apache.openmeetings.OpenmeetingsVariables.webAppRootKey;
-import static org.apache.openmeetings.web.util.UrlFragment.CHILD_ID;
-import static org.apache.openmeetings.web.util.UrlFragment.DASHBOARD;
-import static org.apache.openmeetings.web.util.UrlFragment.PROFILE_EDIT;
-import static org.apache.openmeetings.web.util.UrlFragment.PROFILE_MESSAGES;
-import static org.apache.openmeetings.web.util.UrlFragment.getPanel;
+import static org.apache.openmeetings.web.util.OmUrlFragment.CHILD_ID;
+import static org.apache.openmeetings.web.util.OmUrlFragment.DASHBOARD;
+import static org.apache.openmeetings.web.util.OmUrlFragment.PROFILE_EDIT;
+import static org.apache.openmeetings.web.util.OmUrlFragment.PROFILE_MESSAGES;
+import static org.apache.openmeetings.web.util.OmUrlFragment.getPanel;
 
 import org.apache.openmeetings.web.app.Application;
 import org.apache.openmeetings.web.app.WebSession;
@@ -32,7 +32,7 @@ import org.apache.openmeetings.web.commo
 import org.apache.openmeetings.web.common.MenuPanel;
 import org.apache.openmeetings.web.user.AboutDialog;
 import org.apache.openmeetings.web.user.ChatPanel;
-import org.apache.openmeetings.web.util.UrlFragment;
+import org.apache.openmeetings.web.util.OmUrlFragment;
 import org.apache.wicket.MarkupContainer;
 import org.apache.wicket.ajax.AbstractAjaxTimerBehavior;
 import org.apache.wicket.ajax.AjaxRequestTarget;
@@ -47,6 +47,7 @@ import org.apache.wicket.request.IReques
 import org.apache.wicket.util.time.Duration;
 import org.red5.logging.Red5LoggerFactory;
 import org.slf4j.Logger;
+import org.wicketstuff.urlfragment.UrlFragment;
 
 @AuthorizeInstantiation("USER")
 public class MainPage extends BasePage {
@@ -120,7 +121,7 @@ public class MainPage extends BasePage {
 
                        @Override
                        protected void onTimer(AjaxRequestTarget target) {
-                               UrlFragment area = WebSession.get().getArea();
+                               OmUrlFragment area = WebSession.get().getArea();
                                updateContents(area == null ? DASHBOARD : area, 
target);
                                stop(target);
                                WebSession.get().setArea(null);
@@ -128,22 +129,19 @@ public class MainPage extends BasePage {
                });
        }
        
-       public void updateContents(UrlFragment f, AjaxRequestTarget target) {
+       public void updateContents(OmUrlFragment f, AjaxRequestTarget target) {
                BasePanel panel = getPanel(f.getArea(), f.getType());
                if (panel != null) {
                        target.add(contents.replace(panel));
-                       //FIXME need to resolve name conflict
-                       //FIXME need to implement 1 call instead of 2
-                       org.wicketstuff.urlfragment.UrlFragment uf = new 
org.wicketstuff.urlfragment.UrlFragment(target);
-                       //uf.set("");
-                       uf.setParameter(f.getArea().name(), f.getType());
+                       UrlFragment uf = new UrlFragment(target);
+                       uf.set(f.getArea().name(), f.getType());
                        panel.onMenuPanelLoad(target);
                }
        }
        
        @Override
        protected void onParameterArrival(IRequestParameters params, 
AjaxRequestTarget target) {
-               UrlFragment uf = getUrlFragment(params);
+               OmUrlFragment uf = getUrlFragment(params);
                if (uf != null) {
                        areaBehavior.stop(target);
                        updateContents(uf, target);

Modified: 
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/user/dashboard/StartWidgetView.java
URL: 
http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/user/dashboard/StartWidgetView.java?rev=1483058&r1=1483057&r2=1483058&view=diff
==============================================================================
--- 
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/user/dashboard/StartWidgetView.java
 (original)
+++ 
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/user/dashboard/StartWidgetView.java
 Wed May 15 20:04:37 2013
@@ -18,7 +18,7 @@
  */
 package org.apache.openmeetings.web.user.dashboard;
 
-import static org.apache.openmeetings.web.util.UrlFragment.CALENDAR;
+import static org.apache.openmeetings.web.util.OmUrlFragment.CALENDAR;
 
 import org.apache.openmeetings.web.pages.MainPage;
 import org.apache.wicket.ajax.AjaxEventBehavior;

Modified: 
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/user/dashboard/WelcomeWidgetView.java
URL: 
http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/user/dashboard/WelcomeWidgetView.java?rev=1483058&r1=1483057&r2=1483058&view=diff
==============================================================================
--- 
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/user/dashboard/WelcomeWidgetView.java
 (original)
+++ 
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/user/dashboard/WelcomeWidgetView.java
 Wed May 15 20:04:37 2013
@@ -20,8 +20,8 @@ package org.apache.openmeetings.web.user
 
 import static org.apache.openmeetings.web.app.Application.getBean;
 import static org.apache.openmeetings.web.app.WebSession.getUserId;
-import static org.apache.openmeetings.web.util.UrlFragment.PROFILE_EDIT;
-import static org.apache.openmeetings.web.util.UrlFragment.PROFILE_MESSAGES;
+import static org.apache.openmeetings.web.util.OmUrlFragment.PROFILE_EDIT;
+import static org.apache.openmeetings.web.util.OmUrlFragment.PROFILE_MESSAGES;
 
 import org.apache.openmeetings.data.user.dao.PrivateMessagesDao;
 import org.apache.openmeetings.data.user.dao.UsersDao;

Modified: 
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/user/record/RecordingsPanel.html
URL: 
http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/user/record/RecordingsPanel.html?rev=1483058&r1=1483057&r2=1483058&view=diff
==============================================================================
--- 
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/user/record/RecordingsPanel.html
 (original)
+++ 
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/user/record/RecordingsPanel.html
 Wed May 15 20:04:37 2013
@@ -24,12 +24,12 @@
                <tr>
                        <td class="files">
                                <div class="icons clear">
-                                       <span class="folder-create-icon 
align-left"></span>
-                                       <span class="refresh-icon 
align-left"></span>
+                                       <span wicket:id="create" 
class="folder-create-icon align-left clickable"></span>
+                                       <span wicket:id="refresh" 
class="refresh-icon align-left clickable"></span>
                                        <span class="trash-icon 
align-right"></span>
                                        <div class="clear"></div>
                                </div>
-                               <div class="trees">
+                               <div wicket:id="trees" class="trees">
                                        <div wicket:id="myrecordings"></div>
                                        <div wicket:id="publicrecordings"></div>
                                </div>
@@ -47,7 +47,7 @@
                                                </tr>
                                        </table>
                                </div>
-                               <div class="info">
+                               <div wicket:id="info" class="info">
                                        <table>
                                                <tr>
                                                        <td>Shift</td>
@@ -59,19 +59,19 @@
                                                </tr>
                                                <tr>
                                                        <td><wicket:ommessage 
key="863"/></td>
-                                                       <td><span 
wicket:id="name"></span></td>
+                                                       <td><span 
wicket:id="fileName"></span></td>
                                                </tr>
                                                <tr>
                                                        <td><wicket:ommessage 
key="864"/></td>
-                                                       <td><span 
wicket:id="length"></span></td>
+                                                       <td><span 
wicket:id="fileSize"></span></td>
                                                </tr>
                                                <tr>
                                                        <td><wicket:ommessage 
key="865"/></td>
-                                                       <td><span 
wicket:id="date"></span></td>
+                                                       <td><span 
wicket:id="recordEnd"></span></td>
                                                </tr>
                                                <tr>
                                                        <td><wicket:ommessage 
key="874"/></td>
-                                                       <td><span 
wicket:id="room"></span></td>
+                                                       <td><span 
wicket:id="room_id"></span></td>
                                                </tr>
                                                <tr>
                                                        <td><input 
type="button" wicket:ommessage="value:884"/></td>

Modified: 
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/user/record/RecordingsPanel.java
URL: 
http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/user/record/RecordingsPanel.java?rev=1483058&r1=1483057&r2=1483058&view=diff
==============================================================================
--- 
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/user/record/RecordingsPanel.java
 (original)
+++ 
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/user/record/RecordingsPanel.java
 Wed May 15 20:04:37 2013
@@ -23,6 +23,7 @@ import static org.apache.openmeetings.we
 
 import java.util.ArrayList;
 import java.util.Arrays;
+import java.util.Date;
 import java.util.Iterator;
 import java.util.List;
 
@@ -33,26 +34,68 @@ import org.apache.openmeetings.persisten
 import org.apache.openmeetings.web.app.WebSession;
 import org.apache.openmeetings.web.common.UserPanel;
 import org.apache.wicket.Component;
+import org.apache.wicket.ajax.AjaxEventBehavior;
+import org.apache.wicket.ajax.AjaxRequestTarget;
+import org.apache.wicket.extensions.ajax.markup.html.AjaxEditableLabel;
 import 
org.apache.wicket.extensions.markup.html.repeater.tree.DefaultNestedTree;
 import org.apache.wicket.extensions.markup.html.repeater.tree.ITreeProvider;
 import org.apache.wicket.extensions.markup.html.repeater.tree.content.Folder;
+import org.apache.wicket.markup.html.WebMarkupContainer;
 import org.apache.wicket.markup.html.basic.Label;
+import org.apache.wicket.model.CompoundPropertyModel;
 import org.apache.wicket.model.IModel;
 import org.apache.wicket.model.Model;
 
 public class RecordingsPanel extends UserPanel {
        private static final long serialVersionUID = 1321258690447136958L;
+       WebMarkupContainer info = new WebMarkupContainer("info");
+       WebMarkupContainer trees = new WebMarkupContainer("trees");
+       private IModel<FlvRecording> rm = new 
CompoundPropertyModel<FlvRecording>(new FlvRecording());
 
        public RecordingsPanel(String id) {
                super(id);
-               add(new RecordingTree("myrecordings", new 
MyRecordingTreeProvider()));
-               add(new RecordingTree("publicrecordings", new 
PublicRecordingTreeProvider()));
+               rm.getObject().setFlvRecordingId(-3);
+               rm.getObject().setOwnerId(getUserId());
+               add(new WebMarkupContainer("create").add(new 
AjaxEventBehavior("onclick") {
+                       private static final long serialVersionUID = 
-110084769805785972L;
+
+                       @Override
+                       protected void onEvent(AjaxRequestTarget target) {
+                               FlvRecording f = new FlvRecording();
+                               f.setFileName(WebSession.getString(712));
+                               f.setInsertedBy(getUserId());
+                               f.setInserted(new Date());
+                               f.setIsFolder(true);
+                               f.setIsImage(false);
+                               f.setIsPresentation(false);
+                               f.setIsRecording(true);
+                               f.setOwnerId(rm.getObject().getOwnerId());
+                               
getBean(FlvRecordingDao.class).updateFlvRecording(f);
+                               target.add(trees);
+                       }
+               }));
+               add(new WebMarkupContainer("refresh").add(new 
AjaxEventBehavior("onclick") {
+                       private static final long serialVersionUID = 
-110084769805785972L;
+
+                       @Override
+                       protected void onEvent(AjaxRequestTarget target) {
+                               target.add(trees);
+                       }
+               }));
+               add(trees
+                       .add(new RecordingTree("myrecordings", new 
MyRecordingTreeProvider()))
+                       .add(new RecordingTree("publicrecordings", new 
PublicRecordingTreeProvider()))
+                       .setOutputMarkupId(true)
+                       );
                add(new Label("homeSize", ""));
                add(new Label("publicSize", ""));
-               add(new Label("name", ""));
-               add(new Label("length", ""));
-               add(new Label("date", ""));
-               add(new Label("room", ""));
+               add(info.setDefaultModel(rm)
+                       .add(new Label("fileName"))
+                       .add(new Label("fileSize"))
+                       .add(new Label("recordEnd"))
+                       .add(new Label("room_id"))
+                       .setOutputMarkupId(true)
+                       );
        }
        
        class RecordingTree extends DefaultNestedTree<FlvRecording> {
@@ -68,12 +111,46 @@ public class RecordingsPanel extends Use
                                private static final long serialVersionUID = 
1020976220467419084L;
 
                                @Override
+                               protected Component newLabelComponent(String 
id, final IModel<FlvRecording> lm) {
+                                       FlvRecording r = lm.getObject();
+                                       if (r.getIsFolder() != null && 
r.getIsFolder()) {
+                                               return new 
AjaxEditableLabel<String>(id, newLabelModel(lm)) {
+                                                       private static final 
long serialVersionUID = -6631089550858911148L;
+
+                                                       @Override
+                                                       public void 
onEdit(AjaxRequestTarget target) {
+                                                               // TODO 
Auto-generated method stub
+                                                               
super.onEdit(target);
+                                                       }
+                                               };
+                                       } else {
+                                               return 
super.newLabelComponent(id, lm);
+                                       }
+                               }
+                               
+                               @Override
+                               protected boolean isClickable() {
+                                       return true;
+                               }
+                               
+                               @Override
+                               protected void onClick(AjaxRequestTarget 
target) {
+                                       FlvRecording r = getModelObject();
+                                       rm.setObject(r);
+                                       if (r.getIsFolder() == null || 
r.getIsFolder()) {
+                                               super.onClick(target);
+                                       } else {
+                                               target.add(info);
+                                       }
+                               }
+                               
+                               @Override
                                protected String 
getOtherStyleClass(FlvRecording t) {
                                        return t.getIsFolder() ? 
super.getOtherStyleClass(t) : "recording-icon";
                                }
                                
                                @Override
-                               protected IModel<?> 
newLabelModel(IModel<FlvRecording> model) {
+                               protected IModel<String> 
newLabelModel(IModel<FlvRecording> model) {
                                        return 
Model.of(model.getObject().getFileName());
                                }
                        };
@@ -85,8 +162,9 @@ public class RecordingsPanel extends Use
 
                public Iterator<? extends FlvRecording> getRoots() {
                        FlvRecording r = new FlvRecording();
-                       r.setFlvRecordingId(-1);
+                       r.setFlvRecordingId(-2);
                        r.setFileName(WebSession.getString(860));
+                       r.setOwnerId(getUserId());
                        return Arrays.asList(r).iterator();
                }
                

Modified: 
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/user/rooms/RoomsSelectorPanel.java
URL: 
http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/user/rooms/RoomsSelectorPanel.java?rev=1483058&r1=1483057&r2=1483058&view=diff
==============================================================================
--- 
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/user/rooms/RoomsSelectorPanel.java
 (original)
+++ 
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/user/rooms/RoomsSelectorPanel.java
 Wed May 15 20:04:37 2013
@@ -22,7 +22,7 @@ import org.apache.openmeetings.data.conf
 import org.apache.openmeetings.web.app.Application;
 import org.apache.openmeetings.web.app.WebSession;
 import org.apache.openmeetings.web.common.UserPanel;
-import org.apache.openmeetings.web.util.UrlFragment.MenuParams;
+import org.apache.openmeetings.web.util.OmUrlFragment.MenuParams;
 import org.apache.wicket.markup.html.basic.Label;
 
 public class RoomsSelectorPanel extends UserPanel {

Copied: 
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/util/OmUrlFragment.java
 (from r1482864, 
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/util/UrlFragment.java)
URL: 
http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/util/OmUrlFragment.java?p2=openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/util/OmUrlFragment.java&p1=openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/util/UrlFragment.java&r1=1482864&r2=1483058&rev=1483058&view=diff
==============================================================================
--- 
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/util/UrlFragment.java
 (original)
+++ 
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/util/OmUrlFragment.java
 Wed May 15 20:04:37 2013
@@ -38,7 +38,7 @@ import org.apache.openmeetings.web.user.
 import org.apache.openmeetings.web.user.record.RecordingsPanel;
 import org.apache.openmeetings.web.user.rooms.RoomsSelectorPanel;
 
-public class UrlFragment implements Serializable {
+public class OmUrlFragment implements Serializable {
        private static final long serialVersionUID = 7382435810352033914L;
        private AreaKeys area = AreaKeys.user;
        private String type = "";
@@ -58,10 +58,10 @@ public class UrlFragment implements Seri
        public static final String TYPE_LDAP = "ldap";
        public static final String TYPE_BACKUP = "backup";
        public static final String TYPE_SERVER = "server";
-       public static final UrlFragment DASHBOARD = new 
UrlFragment(AreaKeys.user, "");
-       public static final UrlFragment PROFILE_EDIT = new 
UrlFragment(AreaKeys.profile, TYPE_EDIT);
-       public static final UrlFragment PROFILE_MESSAGES = new 
UrlFragment(AreaKeys.profile, TYPE_MESSAGES);
-       public static final UrlFragment CALENDAR = new 
UrlFragment(AreaKeys.user, TYPE_CALENDAR);
+       public static final OmUrlFragment DASHBOARD = new 
OmUrlFragment(AreaKeys.user, "");
+       public static final OmUrlFragment PROFILE_EDIT = new 
OmUrlFragment(AreaKeys.profile, TYPE_EDIT);
+       public static final OmUrlFragment PROFILE_MESSAGES = new 
OmUrlFragment(AreaKeys.profile, TYPE_MESSAGES);
+       public static final OmUrlFragment CALENDAR = new 
OmUrlFragment(AreaKeys.user, TYPE_CALENDAR);
        
        public enum AreaKeys {
                user
@@ -96,16 +96,16 @@ public class UrlFragment implements Seri
                , myTabButton
        }
        
-       public UrlFragment(AreaKeys area, String type) {
+       public OmUrlFragment(AreaKeys area, String type) {
                this.setArea(area);
                this.setType(type);
        }
        
-       public UrlFragment(MenuActions action) {
+       public OmUrlFragment(MenuActions action) {
                this(action, MenuParams.myTabButton);
        }
        
-       public UrlFragment(MenuActions action, MenuParams params) {
+       public OmUrlFragment(MenuActions action, MenuParams params) {
                switch(action) {
                        case dashboardModuleStartScreen:
                                break;


Reply via email to