Author: solomax
Date: Mon Oct 15 12:12:33 2012
New Revision: 1398261
URL: http://svn.apache.org/viewvc?rev=1398261&view=rev
Log:
Wicket: labels panel is partially fixed (add new label works as expected)
Modified:
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/basic/FieldValueDaoImpl.java
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/labels/LabelsForm.java
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/labels/LangPanel.java
Modified:
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/basic/FieldValueDaoImpl.java
URL:
http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/basic/FieldValueDaoImpl.java?rev=1398261&r1=1398260&r2=1398261&view=diff
==============================================================================
---
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/basic/FieldValueDaoImpl.java
(original)
+++
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/basic/FieldValueDaoImpl.java
Mon Oct 15 12:12:33 2012
@@ -18,6 +18,7 @@
*/
package org.apache.openmeetings.data.basic;
+import java.util.Date;
import java.util.List;
import javax.persistence.EntityManager;
@@ -26,6 +27,7 @@ import javax.persistence.TypedQuery;
import org.apache.openmeetings.data.OmDAO;
import org.apache.openmeetings.data.basic.dao.ConfigurationDaoImpl;
+import org.apache.openmeetings.persistence.beans.lang.Fieldlanguagesvalues;
import org.apache.openmeetings.persistence.beans.lang.Fieldvalues;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.transaction.annotation.Transactional;
@@ -65,7 +67,13 @@ public class FieldValueDaoImpl implement
List<Fieldvalues> result = q.getResultList();
for (Fieldvalues fv : result) {
//FIXME ineffective !!!!!!!!!!!!!!!!!!!!
-
fv.setFieldlanguagesvalue(flvDaoImpl.get(fv.getFieldvalues_id(), language_id));
+ Fieldlanguagesvalues flv =
flvDaoImpl.get(fv.getFieldvalues_id(), language_id);
+ if (flv == null) {
+ flv = new Fieldlanguagesvalues();
+ flv.setLanguage_id(language_id);
+ flv.setFieldvalues(fv);
+ }
+ fv.setFieldlanguagesvalue(flv);
}
return result;
}
@@ -76,8 +84,14 @@ public class FieldValueDaoImpl implement
}
public void update(Fieldvalues entity, long userId) {
- // TODO Auto-generated method stub
-
+ entity.setDeleted(false);
+ if (entity.getFieldvalues_id() == null) {
+ entity.setFieldvalues_id(count() + 1);
+ entity.setStarttime(new Date());
+ em.persist(entity);
+ } else {
+ entity = em.merge(entity);
+ }
}
public void delete(Fieldvalues entity, long userId) {
Modified:
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/labels/LabelsForm.java
URL:
http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/labels/LabelsForm.java?rev=1398261&r1=1398260&r2=1398261&view=diff
==============================================================================
---
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/labels/LabelsForm.java
(original)
+++
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/labels/LabelsForm.java
Mon Oct 15 12:12:33 2012
@@ -19,7 +19,9 @@
package org.apache.openmeetings.web.components.admin.labels;
import org.apache.openmeetings.data.basic.FieldLanguagesValuesDaoImpl;
+import org.apache.openmeetings.data.basic.FieldValueDaoImpl;
import org.apache.openmeetings.persistence.beans.lang.Fieldlanguagesvalues;
+import org.apache.openmeetings.persistence.beans.lang.Fieldvalues;
import org.apache.openmeetings.web.app.Application;
import org.apache.openmeetings.web.app.WebSession;
import org.apache.openmeetings.web.components.admin.AdminBaseForm;
@@ -38,10 +40,12 @@ import org.apache.wicket.model.CompoundP
*/
public class LabelsForm extends AdminBaseForm<Fieldlanguagesvalues> {
private static final long serialVersionUID = -1309878909524329047L;
-
- public LabelsForm(String id, Fieldlanguagesvalues fieldlanguagesvalues)
{
+ private LangPanel panel;
+
+ public LabelsForm(String id, LangPanel panel, Fieldlanguagesvalues
fieldlanguagesvalues) {
super(id, new
CompoundPropertyModel<Fieldlanguagesvalues>(fieldlanguagesvalues));
-
+ this.panel = panel;
+
add(new Label("fieldvalues.fieldvalues_id"));
add(new TextField<String>("fieldvalues.name"));
add(new TextArea<String>("value"));
@@ -49,7 +53,9 @@ public class LabelsForm extends AdminBas
@Override
protected void onNewSubmit(AjaxRequestTarget target, Form<?> f) {
- this.setModelObject(new Fieldlanguagesvalues());
+ Fieldlanguagesvalues flv = new Fieldlanguagesvalues();
+ flv.setLanguage_id(panel.language.getLanguage_id());
+ this.setModelObject(flv);
target.add(this);
}
@@ -57,8 +63,8 @@ public class LabelsForm extends AdminBas
protected void onRefreshSubmit(AjaxRequestTarget target, Form<?> form) {
Fieldlanguagesvalues flv = getModelObject();
if (flv.getFieldlanguagesvalues_id() != null) {
- flv =
Application.getBean(FieldLanguagesValuesDaoImpl.class).get(
-
getModelObject().getFieldlanguagesvalues_id());
+ flv =
Application.getBean(FieldLanguagesValuesDaoImpl.class)
+
.get(getModelObject().getFieldlanguagesvalues_id());
} else {
flv = new Fieldlanguagesvalues();
}
@@ -68,8 +74,13 @@ public class LabelsForm extends AdminBas
@Override
protected void onSaveSubmit(AjaxRequestTarget target, Form<?> form) {
- Application.getBean(FieldLanguagesValuesDaoImpl.class).update(
- getModelObject(), WebSession.getUserId());
+ Fieldlanguagesvalues flv = getModelObject();
+ Fieldvalues fv = flv.getFieldvalues();
+ Application.getBean(FieldValueDaoImpl.class).update(fv,
WebSession.getUserId());
+
+ flv.setFieldvalues(fv);
+ Application.getBean(FieldLanguagesValuesDaoImpl.class)
+ .update(flv, WebSession.getUserId());
hideNewRecord();
// FIXME reload
}
@@ -77,8 +88,8 @@ public class LabelsForm extends AdminBas
// FIXME confirmation
@Override
protected void onDeleteSubmit(AjaxRequestTarget target, Form<?> form) {
- Application.getBean(FieldLanguagesValuesDaoImpl.class).delete(
- getModelObject(), WebSession.getUserId());
+ Application.getBean(FieldLanguagesValuesDaoImpl.class)
+ .delete(getModelObject(), WebSession.getUserId());
// FIXME reload
}
Modified:
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/labels/LangPanel.java
URL:
http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/labels/LangPanel.java?rev=1398261&r1=1398260&r2=1398261&view=diff
==============================================================================
---
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/labels/LangPanel.java
(original)
+++
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/labels/LangPanel.java
Mon Oct 15 12:12:33 2012
@@ -56,8 +56,9 @@ public class LangPanel extends AdminPane
.getBean(FieldLanguageDaoImpl.class);
language = langDao.getFieldLanguageById(1L);
- final LabelsForm form = new LabelsForm("form",
- new Fieldlanguagesvalues());
+ Fieldlanguagesvalues flv = new Fieldlanguagesvalues();
+ flv.setLanguage_id(language.getLanguage_id());
+ final LabelsForm form = new LabelsForm("form", this, flv);
form.showNewRecord();
add(form);