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