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