Author: solomax
Date: Wed Apr 24 14:44:45 2013
New Revision: 1471444

URL: http://svn.apache.org/r1471444
Log:
[OPENMEETINGS-612] Dashboard save/load is implemented

Added:
    
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/util/UserDashboardPersister.java
Modified:
    
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/utils/OmFileHelper.java
    
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/app/Application.java
    
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/app/WebSession.java
    
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/users/UserForm.java
    
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/user/dashboard/WelcomeWidgetView.java

Modified: 
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/utils/OmFileHelper.java
URL: 
http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/utils/OmFileHelper.java?rev=1471444&r1=1471443&r2=1471444&view=diff
==============================================================================
--- 
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/utils/OmFileHelper.java
 (original)
+++ 
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/utils/OmFileHelper.java
 Wed Apr 24 14:44:45 2013
@@ -66,6 +66,7 @@ public class OmFileHelper {
        public static final String chatImagePrefix = "_chat_";
        public static final String bigImagePrefix = "_big_";
        public static final String thumbImagePrefix = "_thumb_";
+       public static final String dashboardFile = "dashboard.xml";
 
        public static void setOmHome(File omHome) {
                OmFileHelper.OM_HOME = omHome;
@@ -124,6 +125,10 @@ public class OmFileHelper {
                return img;
        }
        
+       public static File getUserDashboard(Long userId) {
+               return new File(getUploadProfilesUserDir(userId), 
dashboardFile);
+       }
+       
        public static File getUploadImportDir() {
                return getDir(getUploadDir(), IMPORT_DIR);
        }

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=1471444&r1=1471443&r2=1471444&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
 Wed Apr 24 14:44:45 2013
@@ -25,6 +25,7 @@ import org.apache.openmeetings.web.compo
 import org.apache.openmeetings.web.pages.MainPage;
 import org.apache.openmeetings.web.pages.NotInitedPage;
 import org.apache.openmeetings.web.pages.auth.SignInPage;
+import org.apache.openmeetings.web.util.UserDashboardPersister;
 import org.apache.wicket.Page;
 import org.apache.wicket.RestartResponseException;
 import 
org.apache.wicket.authroles.authentication.AbstractAuthenticatedWebSession;
@@ -74,6 +75,7 @@ public class Application extends Authent
                
                // register some widgets
                dashboardContext = new DashboardContext();
+               dashboardContext.setDashboardPersiter(new 
UserDashboardPersister());
                WidgetRegistry widgetRegistry = 
dashboardContext.getWidgetRegistry();
                widgetRegistry.registerWidget(new 
PrivateRoomsWidgetDescriptor());
                widgetRegistry.registerWidget(new WelcomeWidgetDescriptor());

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=1471444&r1=1471443&r2=1471444&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 Apr 24 14:44:45 2013
@@ -177,10 +177,12 @@ public class WebSession extends Abstract
                dashboard = dashboardContext.getDashboardPersiter().load();
                if (dashboard == null) {
                        dashboard = new DefaultDashboard("default", "Default");
+                       
+                       WidgetFactory widgetFactory = 
dashboardContext.getWidgetFactory();
+                       dashboard.addWidget(widgetFactory.createWidget(new 
WelcomeWidgetDescriptor()));
+                       dashboard.addWidget(widgetFactory.createWidget(new 
StartWidgetDescriptor())); 
+                       dashboard.addWidget(widgetFactory.createWidget(new 
PrivateRoomsWidgetDescriptor()));
+                       dashboardContext.getDashboardPersiter().save(dashboard);
                }
-               WidgetFactory widgetFactory = 
dashboardContext.getWidgetFactory();
-               dashboard.addWidget(widgetFactory.createWidget(new 
WelcomeWidgetDescriptor()));
-               dashboard.addWidget(widgetFactory.createWidget(new 
StartWidgetDescriptor())); 
-               dashboard.addWidget(widgetFactory.createWidget(new 
PrivateRoomsWidgetDescriptor()));
        }
 }

Modified: 
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/users/UserForm.java
URL: 
http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/users/UserForm.java?rev=1471444&r1=1471443&r2=1471444&view=diff
==============================================================================
--- 
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/users/UserForm.java
 (original)
+++ 
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/users/UserForm.java
 Wed Apr 24 14:44:45 2013
@@ -78,8 +78,7 @@ public class UserForm extends AdminBaseF
        private User user;
 
        private final List<Salutation> saluationList = Application.getBean(
-                       SalutationDao.class).getUserSalutations(
-                       WebSession.getLanguage());
+                       
SalutationDao.class).getUserSalutations(WebSession.getLanguage());
        private final List<FieldLanguage> languageList = Application.getBean(
                        FieldLanguageDao.class).getLanguages();
 

Modified: 
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/user/dashboard/WelcomeWidgetView.java
URL: 
http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/user/dashboard/WelcomeWidgetView.java?rev=1471444&r1=1471443&r2=1471444&view=diff
==============================================================================
--- 
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/user/dashboard/WelcomeWidgetView.java
 (original)
+++ 
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/user/dashboard/WelcomeWidgetView.java
 Wed Apr 24 14:44:45 2013
@@ -38,7 +38,7 @@ public class WelcomeWidgetView extends W
                super(id, model);
 
                User u = 
Application.getBean(UsersDao.class).get(WebSession.getUserId());
-               add(new ProfileImagePanel("img", 
WebSession.getUserId()));//FIXME
+               add(new ProfileImagePanel("img", WebSession.getUserId()));
                 //FIXME this need to be aligned according to Locale
                add(new Label("firstname", Model.of(u.getFirstname())));
                add(new Label("lastname", Model.of(u.getLastname())));

Added: 
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/util/UserDashboardPersister.java
URL: 
http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/util/UserDashboardPersister.java?rev=1471444&view=auto
==============================================================================
--- 
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/util/UserDashboardPersister.java
 (added)
+++ 
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/util/UserDashboardPersister.java
 Wed Apr 24 14:44:45 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.util;
+
+import static org.apache.openmeetings.utils.OmFileHelper.getUserDashboard;
+import static org.apache.openmeetings.web.app.WebSession.getUserId;
+import ro.fortsoft.wicket.dashboard.Dashboard;
+import ro.fortsoft.wicket.dashboard.DashboardPersister;
+import ro.fortsoft.wicket.dashboard.XStreamDashboardPersister;
+
+public class UserDashboardPersister implements DashboardPersister {
+       public Dashboard load() {
+               return new 
XStreamDashboardPersister(getUserDashboard(getUserId())).load();
+       }
+
+       public void save(Dashboard dashboard) {
+               new 
XStreamDashboardPersister(getUserDashboard(getUserId())).save(dashboard);
+       }
+
+}


Reply via email to