You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@openmeetings.apache.org by Maxim Solodovnik <so...@gmail.com> on 2012/09/26 03:05:21 UTC

Re: svn commit: r1390044 - in /incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings: persistence/beans/basic/ test/config/ web/components/admin/ web/components/admin/configurations/ web/components/admin/groups/ web/components/admin/l

Hello Sebastian,

AFAIK in case you need to "attach an ajax validation behavior to all form
component's keydown" to all Admin form you can put your code into
AdminBaseForm
constructor :)

On Wed, Sep 26, 2012 at 1:34 AM, <se...@apache.org> wrote:

> 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);
>
>         }
>
>
>
>


-- 
WBR
Maxim aka solomax