You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openmeetings.apache.org by so...@apache.org on 2013/04/23 09:14:44 UTC
svn commit: r1470832 - in /openmeetings/trunk/singlewebapp: ./
WebContent/openmeetings/images/ src/org/apache/openmeetings/web/app/
src/org/apache/openmeetings/web/components/
src/org/apache/openmeetings/web/components/user/calendar/
src/org/apache/ope...
Author: solomax
Date: Tue Apr 23 07:14:43 2013
New Revision: 1470832
URL: http://svn.apache.org/r1470832
Log:
[OPENMEETINGS-612]: PrivateRooms widget is added
Added:
openmeetings/trunk/singlewebapp/WebContent/openmeetings/images/
openmeetings/trunk/singlewebapp/WebContent/openmeetings/images/delete.gif (with props)
openmeetings/trunk/singlewebapp/WebContent/openmeetings/images/down.png (with props)
openmeetings/trunk/singlewebapp/WebContent/openmeetings/images/edit.png (with props)
openmeetings/trunk/singlewebapp/WebContent/openmeetings/images/refresh.gif (with props)
openmeetings/trunk/singlewebapp/WebContent/openmeetings/images/up.png (with props)
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/user/dashboard/
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/user/dashboard/OmDashboardPanel.html
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/user/dashboard/OmDashboardPanel.java
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/user/dashboard/PrivateRoomsWidget.java
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/user/dashboard/PrivateRoomsWidgetDescriptor.java
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/user/dashboard/PrivateRoomsWidgetView.html
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/user/dashboard/PrivateRoomsWidgetView.java
Modified:
openmeetings/trunk/singlewebapp/ivy.xml
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/app/Application.java
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/MenuPanel.java
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/user/calendar/CalendarPanel.html
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/pages/MainPage.java
Added: openmeetings/trunk/singlewebapp/WebContent/openmeetings/images/delete.gif
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/WebContent/openmeetings/images/delete.gif?rev=1470832&view=auto
==============================================================================
Binary file - no diff available.
Propchange: openmeetings/trunk/singlewebapp/WebContent/openmeetings/images/delete.gif
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: openmeetings/trunk/singlewebapp/WebContent/openmeetings/images/down.png
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/WebContent/openmeetings/images/down.png?rev=1470832&view=auto
==============================================================================
Binary file - no diff available.
Propchange: openmeetings/trunk/singlewebapp/WebContent/openmeetings/images/down.png
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: openmeetings/trunk/singlewebapp/WebContent/openmeetings/images/edit.png
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/WebContent/openmeetings/images/edit.png?rev=1470832&view=auto
==============================================================================
Binary file - no diff available.
Propchange: openmeetings/trunk/singlewebapp/WebContent/openmeetings/images/edit.png
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: openmeetings/trunk/singlewebapp/WebContent/openmeetings/images/refresh.gif
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/WebContent/openmeetings/images/refresh.gif?rev=1470832&view=auto
==============================================================================
Binary file - no diff available.
Propchange: openmeetings/trunk/singlewebapp/WebContent/openmeetings/images/refresh.gif
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: openmeetings/trunk/singlewebapp/WebContent/openmeetings/images/up.png
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/WebContent/openmeetings/images/up.png?rev=1470832&view=auto
==============================================================================
Binary file - no diff available.
Propchange: openmeetings/trunk/singlewebapp/WebContent/openmeetings/images/up.png
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Modified: openmeetings/trunk/singlewebapp/ivy.xml
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/ivy.xml?rev=1470832&r1=1470831&r2=1470832&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/ivy.xml (original)
+++ openmeetings/trunk/singlewebapp/ivy.xml Tue Apr 23 07:14:43 2013
@@ -259,6 +259,12 @@
<dependency org="com.googlecode.wicket-jquery-ui" name="jquery-ui-calendar" rev="6.2.2" conf="openmeetings->*" transitive="false">
<include type="jar" />
</dependency>
+ <dependency org="ro.fortsoft.wicket.dashboard" name="wicket-dashboard-core" rev="0.6" conf="openmeetings->*" transitive="false">
+ <include type="jar" />
+ </dependency>
+ <dependency org="com.google.code.gson" name="gson" rev="2.2.3" conf="openmeetings->*" transitive="false">
+ <include type="jar" />
+ </dependency>
<!-- iCal4j seems to need this JAR -->
<dependency org="edu.emory.mathcs" name="backport-util-concurrent" rev="3.1" conf="openmeetings->*"/>
Modified: openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/app/Application.java
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/app/Application.java?rev=1470832&r1=1470831&r2=1470832&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/app/Application.java (original)
+++ openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/app/Application.java Tue Apr 23 07:14:43 2013
@@ -19,6 +19,7 @@
package org.apache.openmeetings.web.app;
import org.apache.openmeetings.remote.red5.ScopeApplicationAdapter;
+import org.apache.openmeetings.web.components.user.dashboard.PrivateRoomsWidgetDescriptor;
import org.apache.openmeetings.web.pages.MainPage;
import org.apache.openmeetings.web.pages.NotInitedPage;
import org.apache.openmeetings.web.pages.auth.SignInPage;
@@ -40,7 +41,17 @@ import org.apache.wicket.settings.IPageS
import org.springframework.context.ApplicationContext;
import org.springframework.web.context.support.WebApplicationContextUtils;
+import ro.fortsoft.wicket.dashboard.Dashboard;
+import ro.fortsoft.wicket.dashboard.DefaultDashboard;
+import ro.fortsoft.wicket.dashboard.Widget;
+import ro.fortsoft.wicket.dashboard.WidgetFactory;
+import ro.fortsoft.wicket.dashboard.WidgetRegistry;
+import ro.fortsoft.wicket.dashboard.web.DashboardContext;
+import ro.fortsoft.wicket.dashboard.web.DashboardContextInjector;
+
public class Application extends AuthenticatedWebApplication {
+ private DashboardContext dashboardContext;
+ private Dashboard dashboard;
@Override
protected void init() {
@@ -63,6 +74,14 @@ public class Application extends Authent
super.init();
+ // register some widgets
+ dashboardContext = new DashboardContext();
+ WidgetRegistry widgetRegistry = dashboardContext.getWidgetRegistry();
+ widgetRegistry.registerWidget(new PrivateRoomsWidgetDescriptor());
+ // add dashboard context injector
+ DashboardContextInjector dashboardContextInjector = new DashboardContextInjector(dashboardContext);
+ getComponentInstantiationListeners().add(dashboardContextInjector);
+
mountPage("signin", getSignInPageClass());
mountPage("notinited", NotInitedPage.class);
@@ -110,4 +129,25 @@ public class Application extends Authent
throw new RestartResponseException(NotInitedPage.class);
}
}
+
+ public static Dashboard getDashboard() {
+ Dashboard d = get().dashboard;
+ if (d == null) {
+ get().initDashboard();
+ d = get().dashboard;
+ }
+ return d;
+ }
+
+ private void initDashboard() {
+ //FIXME check title etc.
+ dashboard = dashboardContext.getDashboardPersiter().load();
+ if (dashboard == null) {
+ dashboard = new DefaultDashboard("default", "Default");
+ }
+ WidgetFactory widgetFactory = dashboardContext.getWidgetFactory();
+ Widget widget = widgetFactory.createWidget(new PrivateRoomsWidgetDescriptor());
+ dashboard.getWidgets().clear(); //FIXME hack somehow Dashboard loaded with 7! PrivateRoomsWidgets
+ dashboard.addWidget(widget);
+ }
}
Modified: openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/MenuPanel.java
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/MenuPanel.java?rev=1470832&r1=1470831&r2=1470832&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/MenuPanel.java (original)
+++ openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/MenuPanel.java Tue Apr 23 07:14:43 2013
@@ -32,6 +32,7 @@ import org.apache.openmeetings.web.compo
import org.apache.openmeetings.web.components.admin.servers.ServersPanel;
import org.apache.openmeetings.web.components.admin.users.UsersPanel;
import org.apache.openmeetings.web.components.user.calendar.CalendarPanel;
+import org.apache.openmeetings.web.components.user.dashboard.OmDashboardPanel;
import org.apache.openmeetings.web.components.user.rooms.RoomsSelectorPanel;
import org.apache.wicket.AttributeModifier;
import org.apache.wicket.Component;
@@ -116,8 +117,6 @@ public class MenuPanel extends BasePanel
BasePanel basePanel = null;
switch(action) {
- case dashboardModuleStartScreen:
- break;
case dashboardModuleCalendar:
basePanel = new CalendarPanel("child");
break;
@@ -158,6 +157,10 @@ public class MenuPanel extends BasePanel
case adminModuleServers:
basePanel = new ServersPanel("child");
break;
+ case dashboardModuleStartScreen:
+ default:
+ basePanel = new OmDashboardPanel("child");
+ break;
}
if (basePanel != null) {
Modified: openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/user/calendar/CalendarPanel.html
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/user/calendar/CalendarPanel.html?rev=1470832&r1=1470831&r2=1470832&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/user/calendar/CalendarPanel.html (original)
+++ openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/user/calendar/CalendarPanel.html Tue Apr 23 07:14:43 2013
@@ -19,12 +19,6 @@
-->
<html xmlns:wicket="http://wicket.apache.org">
- <wicket:head>
- <script type="text/javascript">
- function calendarInit() {
- }
- </script>
- </wicket:head>
<wicket:panel>
<div id="wrapper-panel-frame" class="ui-corner-all">
<form wicket:id="form">
Added: openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/user/dashboard/OmDashboardPanel.html
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/user/dashboard/OmDashboardPanel.html?rev=1470832&view=auto
==============================================================================
--- openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/user/dashboard/OmDashboardPanel.html (added)
+++ openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/user/dashboard/OmDashboardPanel.html Tue Apr 23 07:14:43 2013
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ 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>
+ <div wicket:id="dashboard" class="dashboard"></div>
+ </wicket:panel>
+</html>
Added: openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/user/dashboard/OmDashboardPanel.java
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/user/dashboard/OmDashboardPanel.java?rev=1470832&view=auto
==============================================================================
--- openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/user/dashboard/OmDashboardPanel.java (added)
+++ openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/user/dashboard/OmDashboardPanel.java Tue Apr 23 07:14:43 2013
@@ -0,0 +1,36 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * 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.
+ */
+package org.apache.openmeetings.web.components.user.dashboard;
+
+import org.apache.openmeetings.web.app.Application;
+import org.apache.openmeetings.web.components.UserPanel;
+import org.apache.wicket.model.Model;
+
+import ro.fortsoft.wicket.dashboard.Dashboard;
+import ro.fortsoft.wicket.dashboard.web.DashboardPanel;
+
+public class OmDashboardPanel extends UserPanel {
+ private static final long serialVersionUID = 7815949875883825949L;
+
+ public OmDashboardPanel(String id) {
+ super(id);
+
+ add(new DashboardPanel("dashboard", new Model<Dashboard>(Application.getDashboard())));
+ }
+}
Added: openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/user/dashboard/PrivateRoomsWidget.java
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/user/dashboard/PrivateRoomsWidget.java?rev=1470832&view=auto
==============================================================================
--- openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/user/dashboard/PrivateRoomsWidget.java (added)
+++ openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/user/dashboard/PrivateRoomsWidget.java Tue Apr 23 07:14:43 2013
@@ -0,0 +1,28 @@
+package org.apache.openmeetings.web.components.user.dashboard;
+
+import org.apache.openmeetings.web.app.WebSession;
+import org.apache.wicket.model.Model;
+
+import ro.fortsoft.wicket.dashboard.AbstractWidget;
+import ro.fortsoft.wicket.dashboard.Widget;
+import ro.fortsoft.wicket.dashboard.WidgetLocation;
+import ro.fortsoft.wicket.dashboard.web.WidgetView;
+
+public class PrivateRoomsWidget extends AbstractWidget {
+ private static final long serialVersionUID = 1769428980617610979L;
+
+ public PrivateRoomsWidget(String id) {
+ this();
+ setId(id);
+ }
+
+ public PrivateRoomsWidget() {
+ super();
+ title = WebSession.getString(781L);
+ location = new WidgetLocation(0, 1);
+ }
+
+ public WidgetView createView(String viewId) {
+ return new PrivateRoomsWidgetView(viewId, new Model<Widget>(this));
+ }
+}
Added: openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/user/dashboard/PrivateRoomsWidgetDescriptor.java
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/user/dashboard/PrivateRoomsWidgetDescriptor.java?rev=1470832&view=auto
==============================================================================
--- openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/user/dashboard/PrivateRoomsWidgetDescriptor.java (added)
+++ openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/user/dashboard/PrivateRoomsWidgetDescriptor.java Tue Apr 23 07:14:43 2013
@@ -0,0 +1,26 @@
+package org.apache.openmeetings.web.components.user.dashboard;
+
+import org.apache.openmeetings.web.app.WebSession;
+
+import ro.fortsoft.wicket.dashboard.WidgetDescriptor;
+
+public class PrivateRoomsWidgetDescriptor implements WidgetDescriptor {
+ private static final long serialVersionUID = 389662353299319574L;
+
+ public String getName() {
+ return WebSession.getString(781L);
+ }
+
+ public String getProvider() {
+ return "Apache Openmeetings";
+ }
+
+ public String getDescription() {
+ return WebSession.getString(782L);
+ }
+
+ public String getWidgetClassName() {
+ return PrivateRoomsWidget.class.getName();
+ }
+
+}
Added: openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/user/dashboard/PrivateRoomsWidgetView.html
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/user/dashboard/PrivateRoomsWidgetView.html?rev=1470832&view=auto
==============================================================================
--- openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/user/dashboard/PrivateRoomsWidgetView.html (added)
+++ openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/user/dashboard/PrivateRoomsWidgetView.html Tue Apr 23 07:14:43 2013
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ 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>
+ <div wicket:id="rooms"></div>
+ </wicket:panel>
+</html>
\ No newline at end of file
Added: openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/user/dashboard/PrivateRoomsWidgetView.java
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/user/dashboard/PrivateRoomsWidgetView.java?rev=1470832&view=auto
==============================================================================
--- openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/user/dashboard/PrivateRoomsWidgetView.java (added)
+++ openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/user/dashboard/PrivateRoomsWidgetView.java Tue Apr 23 07:14:43 2013
@@ -0,0 +1,22 @@
+package org.apache.openmeetings.web.components.user.dashboard;
+
+import org.apache.openmeetings.data.conference.dao.RoomDao;
+import org.apache.openmeetings.web.app.Application;
+import org.apache.openmeetings.web.app.WebSession;
+import org.apache.openmeetings.web.components.user.rooms.RoomsPanel;
+import org.apache.wicket.model.Model;
+
+import ro.fortsoft.wicket.dashboard.Widget;
+import ro.fortsoft.wicket.dashboard.web.WidgetView;
+
+public class PrivateRoomsWidgetView extends WidgetView {
+ private static final long serialVersionUID = 6950427893821991173L;
+
+ public PrivateRoomsWidgetView(String id, Model<Widget> model) {
+ super(id, model);
+
+ //FIXME 2 !!!! fake rooms;
+ //FIXME need to be generalized with RoomsSelectorPanel
+ add(new RoomsPanel("rooms", Application.getBean(RoomDao.class).getAppointedRoomsByUser(WebSession.getUserId())));
+ }
+}
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=1470832&r1=1470831&r2=1470832&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 Tue Apr 23 07:14:43 2013
@@ -24,6 +24,7 @@ import org.apache.openmeetings.web.compo
import org.apache.openmeetings.web.components.MenuPanel;
import org.apache.openmeetings.web.components.user.AboutDialog;
import org.apache.openmeetings.web.components.user.ChatPanel;
+import org.apache.openmeetings.web.components.user.dashboard.OmDashboardPanel;
import org.apache.wicket.MarkupContainer;
import org.apache.wicket.ajax.AjaxRequestTarget;
import org.apache.wicket.ajax.markup.html.AjaxLink;
@@ -43,7 +44,8 @@ public class MainPage extends BasePage {
public MainPage() {
MarkupContainer contents = new WebMarkupContainer("contents");
- contents.add(new WebMarkupContainer("child")).setOutputMarkupId(true).setMarkupId("contents");
+ //FIXME need to be generalized with MenuPanel
+ contents.add(new OmDashboardPanel("child")).setOutputMarkupId(true).setMarkupId("contents");
add(contents);
menu = new MenuPanel("menu", contents);
add(menu);