Author: sebawagner
Date: Tue Sep 25 18:34:13 2012
New Revision: 1390044

URL: http://svn.apache.org/viewvc?rev=1390044&view=rev
Log:
OPENMEETINGS-428 add some runtime validation and modify config admin for user 
login

Modified:
    
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/persistence/beans/basic/Configuration.java
    
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/test/config/TestConfig.java
    
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/AdminBaseForm.java
    
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/configurations/ConfigForm.java
    
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/groups/GroupForm.java
    
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/labels/LangForm.java
    
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/ldaps/LdapForm.java
    
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/rooms/RoomForm.java
    
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/servers/ServerForm.java
    
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/users/UserForm.java

Modified: 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/persistence/beans/basic/Configuration.java
URL: 
http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/persistence/beans/basic/Configuration.java?rev=1390044&r1=1390043&r2=1390044&view=diff
==============================================================================
--- 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/persistence/beans/basic/Configuration.java
 (original)
+++ 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/persistence/beans/basic/Configuration.java
 Tue Sep 25 18:34:13 2012
@@ -23,14 +23,16 @@ import java.util.Date;
 
 import javax.persistence.Column;
 import javax.persistence.Entity;
+import javax.persistence.FetchType;
 import javax.persistence.GeneratedValue;
 import javax.persistence.GenerationType;
 import javax.persistence.Id;
+import javax.persistence.JoinColumn;
 import javax.persistence.Lob;
+import javax.persistence.ManyToOne;
 import javax.persistence.NamedQueries;
 import javax.persistence.NamedQuery;
 import javax.persistence.Table;
-import javax.persistence.Transient;
 
 import org.apache.openmeetings.persistence.beans.OmEntity;
 import org.apache.openmeetings.persistence.beans.user.Users;
@@ -39,10 +41,11 @@ import org.simpleframework.xml.Root;
 
 @Entity
 @NamedQueries({
-       @NamedQuery(name = "getConfigurationByKey", query = "SELECT c FROM 
Configuration c WHERE c.conf_key LIKE :conf_key and c.deleted = false")
-       , @NamedQuery(name = "getConfigurationsByKeys", query = "SELECT c FROM 
Configuration c WHERE c.conf_key IN :conf_keys and c.deleted = false")
-       , @NamedQuery(name="getNondeletedConfiguration", query="SELECT u FROM 
Configuration u WHERE u.deleted = false")
-       , @NamedQuery(name = "getConfigurationById", query = "SELECT c FROM 
Configuration c WHERE c.configuration_id = :configuration_id and c.deleted = 
false")
+               @NamedQuery(name = "getConfigurationByKey", query = "SELECT c 
FROM Configuration c WHERE c.conf_key LIKE :conf_key and c.deleted = false"),
+               @NamedQuery(name = "getConfigurationsByKeys", query = "SELECT c 
FROM Configuration c WHERE c.conf_key IN :conf_keys and c.deleted = false"),
+               @NamedQuery(name = "getNondeletedConfiguration", query = 
"SELECT c FROM Configuration c  "
+                               + "LEFT JOIN c.users users WHERE c.deleted = 
false"),
+               @NamedQuery(name = "getConfigurationById", query = "SELECT c 
FROM Configuration c WHERE c.configuration_id = :configuration_id and c.deleted 
= false")
 })
 @Table(name = "configuration")
 @Root(name="config")
@@ -83,7 +86,9 @@ public class Configuration implements Se
        @Element(data=true, required=false)
        private Long user_id;
 
-       @Transient
+       @ManyToOne(fetch = FetchType.LAZY)
+       @JoinColumn(name = "user_id")
+       @Element(name = "user_id", data = true, required = false)
        private Users users;
        
     public String getComment() {

Modified: 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/test/config/TestConfig.java
URL: 
http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/test/config/TestConfig.java?rev=1390044&r1=1390043&r2=1390044&view=diff
==============================================================================
--- 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/test/config/TestConfig.java
 (original)
+++ 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/test/config/TestConfig.java
 Tue Sep 25 18:34:13 2012
@@ -20,7 +20,10 @@ package org.apache.openmeetings.test.con
 
 import static junit.framework.Assert.assertEquals;
 
+import java.util.List;
+
 import org.apache.openmeetings.data.basic.Configurationmanagement;
+import org.apache.openmeetings.persistence.beans.basic.Configuration;
 import org.apache.openmeetings.test.AbstractOpenmeetingsSpringTest;
 import org.apache.openmeetings.test.calendar.TestAppointmentAddAppointment;
 import org.junit.Test;
@@ -41,11 +44,35 @@ public class TestConfig extends Abstract
        public void getConfigKey() {
                
                try {
-                       String use_old_style_ffmpeg_map  = 
configurationmanagement.getConfValue("use.old.style.ffmpeg.map.option", 
String.class, "0");
+
+                       System.err.println("THIS");
+
+                       Configuration smtp_server = 
configurationmanagement.getConfKey(3L,
+                                       "smtp_server");
                        
-                       log.debug("use_old_style_ffmpeg_map 
"+use_old_style_ffmpeg_map);
+                       System.err.println("smtp_server " + 
smtp_server.getUser_id());
+                       System.err.println("smtp_server " + 
smtp_server.getUsers());
                        
-                       assertEquals(use_old_style_ffmpeg_map,"1");
+                       assertEquals(null, smtp_server.getUsers());
+
+               } catch (Exception err) {
+                       log.error("[startConversion]", err);
+               }
+               
+       }
+
+       @Test
+       public void getConfigs() {
+               
+               try {
+                       List<Configuration> list = 
configurationmanagement.get(0, 1);
+                       
+                       for (Configuration conf : list) {
+                               System.err.println("conf.getUser_id() " + 
conf.getUser_id());
+                               System.err.println("conf.getUsers() " + 
conf.getUsers());
+                       }
+
+                       assertEquals(list.size(), 1);
 
                } catch (Exception err) {
                        log.error("[startConversion]", err);

Modified: 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/AdminBaseForm.java
URL: 
http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/AdminBaseForm.java?rev=1390044&r1=1390043&r2=1390044&view=diff
==============================================================================
--- 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/AdminBaseForm.java
 (original)
+++ 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/AdminBaseForm.java
 Tue Sep 25 18:34:13 2012
@@ -81,6 +81,8 @@ public class AdminBaseForm<T> extends Fo
                        
                };
                add(basePanel);
+
+
        }
 
        public void hideNewRecord() {

Modified: 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/configurations/ConfigForm.java
URL: 
http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/configurations/ConfigForm.java?rev=1390044&r1=1390043&r2=1390044&view=diff
==============================================================================
--- 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/configurations/ConfigForm.java
 (original)
+++ 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/configurations/ConfigForm.java
 Tue Sep 25 18:34:13 2012
@@ -24,13 +24,15 @@ import org.apache.openmeetings.web.app.A
 import org.apache.openmeetings.web.app.WebSession;
 import org.apache.openmeetings.web.components.admin.AdminBaseForm;
 import org.apache.wicket.ajax.AjaxRequestTarget;
+import org.apache.wicket.ajax.form.AjaxFormValidatingBehavior;
 import org.apache.wicket.datetime.markup.html.basic.DateLabel;
 import org.apache.wicket.markup.html.WebMarkupContainer;
 import org.apache.wicket.markup.html.basic.Label;
 import org.apache.wicket.markup.html.form.Form;
+import org.apache.wicket.markup.html.form.RequiredTextField;
 import org.apache.wicket.markup.html.form.TextArea;
-import org.apache.wicket.markup.html.form.TextField;
 import org.apache.wicket.model.CompoundPropertyModel;
+import org.apache.wicket.util.time.Duration;
 
 /**
  * Handle {@link Configuration} items as list and form
@@ -47,12 +49,17 @@ public class ConfigForm extends AdminBas
                super(id, new 
CompoundPropertyModel<Configuration>(configuration));
                setOutputMarkupId(true);
                this.listContainer = listContainer;
-               add(new TextField<String>("conf_key"));
-               add(new TextField<String>("conf_value"));
-               add(DateLabel.forDatePattern("updatetime", "dd.MM.yyyy hh:mm"));
+               add(new RequiredTextField<String>("conf_key"));
+               add(new RequiredTextField<String>("conf_value"));
+               add(DateLabel.forDatePattern("updatetime", "dd.MM.yyyy 
HH:mm:ss"));
                add(new Label("users.login"));
                add(new TextArea<String>("comment"));
                
+               // attach an ajax validation behavior to all form component's 
keydown
+               // event and throttle it down to once per second
+               AjaxFormValidatingBehavior.addToAllFormComponents(this, 
"keydown",
+                               Duration.ONE_SECOND);
+
        }
        
        void updateView(AjaxRequestTarget target) {

Modified: 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/groups/GroupForm.java
URL: 
http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/groups/GroupForm.java?rev=1390044&r1=1390043&r2=1390044&view=diff
==============================================================================
--- 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/groups/GroupForm.java
 (original)
+++ 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/groups/GroupForm.java
 Tue Sep 25 18:34:13 2012
@@ -24,10 +24,12 @@ import org.apache.openmeetings.web.app.A
 import org.apache.openmeetings.web.app.WebSession;
 import org.apache.openmeetings.web.components.admin.AdminBaseForm;
 import org.apache.wicket.ajax.AjaxRequestTarget;
+import org.apache.wicket.ajax.form.AjaxFormValidatingBehavior;
 import org.apache.wicket.markup.html.WebMarkupContainer;
 import org.apache.wicket.markup.html.form.Form;
 import org.apache.wicket.markup.html.form.RequiredTextField;
 import org.apache.wicket.model.CompoundPropertyModel;
+import org.apache.wicket.util.time.Duration;
 
 public class GroupForm extends AdminBaseForm<Organisation> {
        private static final long serialVersionUID = -1720731686053912700L;
@@ -42,6 +44,11 @@ public class GroupForm extends AdminBase
                add(new RequiredTextField<String>("name"));
                usersPanel = new GroupUsersPanel("users", getOrgId());
                add(usersPanel);
+
+               // attach an ajax validation behavior to all form component's 
keydown
+               // event and throttle it down to once per second
+               AjaxFormValidatingBehavior.addToAllFormComponents(this, 
"keydown",
+                               Duration.ONE_SECOND);
        }
        
        void updateView(AjaxRequestTarget target) {

Modified: 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/labels/LangForm.java
URL: 
http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/labels/LangForm.java?rev=1390044&r1=1390043&r2=1390044&view=diff
==============================================================================
--- 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/labels/LangForm.java
 (original)
+++ 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/labels/LangForm.java
 Tue Sep 25 18:34:13 2012
@@ -29,12 +29,14 @@ import org.apache.openmeetings.web.compo
 import org.apache.wicket.ajax.AjaxRequestTarget;
 import org.apache.wicket.ajax.attributes.AjaxRequestAttributes;
 import org.apache.wicket.ajax.form.AjaxFormComponentUpdatingBehavior;
+import org.apache.wicket.ajax.form.AjaxFormValidatingBehavior;
 import org.apache.wicket.ajax.markup.html.form.AjaxButton;
 import org.apache.wicket.markup.html.WebMarkupContainer;
 import org.apache.wicket.markup.html.form.DropDownChoice;
 import org.apache.wicket.markup.html.form.Form;
 import org.apache.wicket.markup.html.form.IChoiceRenderer;
 import org.apache.wicket.model.CompoundPropertyModel;
+import org.apache.wicket.util.time.Duration;
 
 /**
  * Modify the language selection, add/delete {@link FieldLanguage}
@@ -100,6 +102,11 @@ public class LangForm extends AdminBaseF
                addSaveAndDeleteButtons();
 
                // addNewLanguagePopUp(langPanel);
+
+               // attach an ajax validation behavior to all form component's 
keydown
+               // event and throttle it down to once per second
+               AjaxFormValidatingBehavior.addToAllFormComponents(this, 
"keydown",
+                               Duration.ONE_SECOND);
        }
 
        /**

Modified: 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/ldaps/LdapForm.java
URL: 
http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/ldaps/LdapForm.java?rev=1390044&r1=1390043&r2=1390044&view=diff
==============================================================================
--- 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/ldaps/LdapForm.java
 (original)
+++ 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/ldaps/LdapForm.java
 Tue Sep 25 18:34:13 2012
@@ -20,7 +20,9 @@ package org.apache.openmeetings.web.comp
 
 import org.apache.openmeetings.persistence.beans.basic.LdapConfig;
 import org.apache.openmeetings.web.components.admin.AdminBaseForm;
+import org.apache.wicket.ajax.form.AjaxFormValidatingBehavior;
 import org.apache.wicket.model.CompoundPropertyModel;
+import org.apache.wicket.util.time.Duration;
 
 public class LdapForm extends AdminBaseForm<LdapConfig> {
 
@@ -30,5 +32,9 @@ public class LdapForm extends AdminBaseF
                super(id, new CompoundPropertyModel<LdapConfig>(ldapConfig));
                setOutputMarkupId(true);
                
+               // attach an ajax validation behavior to all form component's 
keydown
+               // event and throttle it down to once per second
+               AjaxFormValidatingBehavior.addToAllFormComponents(this, 
"keydown",
+                               Duration.ONE_SECOND);
        }
 }

Modified: 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/rooms/RoomForm.java
URL: 
http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/rooms/RoomForm.java?rev=1390044&r1=1390043&r2=1390044&view=diff
==============================================================================
--- 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/rooms/RoomForm.java
 (original)
+++ 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/rooms/RoomForm.java
 Tue Sep 25 18:34:13 2012
@@ -20,7 +20,9 @@ package org.apache.openmeetings.web.comp
 
 import org.apache.openmeetings.persistence.beans.rooms.Rooms;
 import org.apache.openmeetings.web.components.admin.AdminBaseForm;
+import org.apache.wicket.ajax.form.AjaxFormValidatingBehavior;
 import org.apache.wicket.model.CompoundPropertyModel;
+import org.apache.wicket.util.time.Duration;
 
 public class RoomForm extends AdminBaseForm<Rooms> {
 
@@ -30,5 +32,9 @@ public class RoomForm extends AdminBaseF
                super(id, new CompoundPropertyModel<Rooms>(room));
                setOutputMarkupId(true);
                
+               // attach an ajax validation behavior to all form component's 
keydown
+               // event and throttle it down to once per second
+               AjaxFormValidatingBehavior.addToAllFormComponents(this, 
"keydown",
+                               Duration.ONE_SECOND);
        }
 }

Modified: 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/servers/ServerForm.java
URL: 
http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/servers/ServerForm.java?rev=1390044&r1=1390043&r2=1390044&view=diff
==============================================================================
--- 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/servers/ServerForm.java
 (original)
+++ 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/servers/ServerForm.java
 Tue Sep 25 18:34:13 2012
@@ -20,7 +20,9 @@ package org.apache.openmeetings.web.comp
 
 import org.apache.openmeetings.persistence.beans.basic.Server;
 import org.apache.openmeetings.web.components.admin.AdminBaseForm;
+import org.apache.wicket.ajax.form.AjaxFormValidatingBehavior;
 import org.apache.wicket.model.CompoundPropertyModel;
+import org.apache.wicket.util.time.Duration;
 
 public class ServerForm extends AdminBaseForm<Server> {
 
@@ -29,6 +31,11 @@ public class ServerForm extends AdminBas
        public ServerForm(String id, final Server server) {
                super(id, new CompoundPropertyModel<Server>(server));
                setOutputMarkupId(true);
+
                
+               // attach an ajax validation behavior to all form component's 
keydown
+               // event and throttle it down to once per second
+               AjaxFormValidatingBehavior.addToAllFormComponents(this, 
"keydown",
+                               Duration.ONE_SECOND);
        }
 }

Modified: 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/users/UserForm.java
URL: 
http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/users/UserForm.java?rev=1390044&r1=1390043&r2=1390044&view=diff
==============================================================================
--- 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/users/UserForm.java
 (original)
+++ 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/users/UserForm.java
 Tue Sep 25 18:34:13 2012
@@ -302,8 +302,9 @@ public class UserForm extends AdminBaseF
                add(new TextArea<String>("userSearchs"));
                
                // attach an ajax validation behavior to all form component's 
keydown
-        // event and throttle it down to once per second
-               AjaxFormValidatingBehavior.addToAllFormComponents(this, 
"keydown", Duration.ONE_SECOND);
+               // event and throttle it down to once per second
+               AjaxFormValidatingBehavior.addToAllFormComponents(this, 
"keydown",
+                               Duration.ONE_SECOND);
 
        }
 


Reply via email to