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


Reply via email to