Author: solomax
Date: Wed Oct 17 15:33:22 2012
New Revision: 1399309

URL: http://svn.apache.org/viewvc?rev=1399309&view=rev
Log:
Wicket: Search to the labels page is added

Modified:
    
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/basic/FieldValueDaoImpl.java
    
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/ConfirmCallListener.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=1399309&r1=1399308&r2=1399309&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
 Wed Oct 17 15:33:22 2012
@@ -18,6 +18,7 @@
  */
 package org.apache.openmeetings.data.basic;
 
+import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
 
@@ -29,11 +30,14 @@ import org.apache.openmeetings.data.OmDA
 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.apache.openmeetings.utils.DaoHelper;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.transaction.annotation.Transactional;
 
 @Transactional
 public class FieldValueDaoImpl implements OmDAO<Fieldvalues> {
+       public final static String[] searchFields = {"value", 
"fieldvalues.name"};
+       
        @PersistenceContext
        private EntityManager em;
        @Autowired
@@ -41,9 +45,12 @@ public class FieldValueDaoImpl implement
        @Autowired
        private FieldLanguagesValuesDaoImpl flvDaoImpl;
 
+       private Long getDefaultLanguage() {
+               return configurationDaoImpl.getConfValue("default_lang_id", 
Long.class, "1");
+       }
+       
        public Fieldvalues get(long id) {
-               return get(configurationDaoImpl.getConfValue("default_lang_id",
-                               Long.class, "1"), id);
+               return get(getDefaultLanguage(), id);
        }
 
        public Fieldvalues get(Long language_id, long id) {
@@ -55,18 +62,30 @@ public class FieldValueDaoImpl implement
        }
 
        public List<Fieldvalues> get(int start, int count) {
-               return get(configurationDaoImpl.getConfValue("default_lang_id",
-                               Long.class, "1"), start, count);
+               return get(getDefaultLanguage(), start, count);
        }
 
        public List<Fieldvalues> get(String search, int start, int count) {
-               // TODO Auto-generated method stub
-               return null;
+               return get(getDefaultLanguage(), search, start, count);
        }
        
        public List<Fieldvalues> get(Long language_id, String search, int 
start, int count) {
-               // TODO Auto-generated method stub
-               return null;
+               String sql = DaoHelper.getSearchQuery("Fieldlanguagesvalues", 
"flv", search, true, false, searchFields)
+                               + " AND flv.fieldvalues.deleted = false AND 
flv.language_id = :lang";
+               TypedQuery<Fieldlanguagesvalues> q = em.createQuery(sql, 
Fieldlanguagesvalues.class);
+               q.setParameter("lang", language_id);
+               q.setFirstResult(start);
+               q.setMaxResults(count);
+               
+               //now lets create the list of Fieldvalues
+               List<Fieldlanguagesvalues> flvList = q.getResultList();
+               List<Fieldvalues> r = new 
ArrayList<Fieldvalues>(flvList.size());
+               for (Fieldlanguagesvalues flv : flvList) {
+                       Fieldvalues fv = flv.getFieldvalues();
+                       fv.setFieldlanguagesvalue(flv);
+                       r.add(fv);
+               }
+               return r;
        }
        
        public List<Fieldvalues> get(Long language_id, int start, int count) {
@@ -94,8 +113,15 @@ public class FieldValueDaoImpl implement
        }
 
        public long count(String search) {
-               // TODO Auto-generated method stub
-               return 0;
+               return count(getDefaultLanguage(), search);
+       }
+       
+       public long count(Long language_id, String search) {
+               String sql = DaoHelper.getSearchQuery("Fieldlanguagesvalues", 
"flv", search, true, true, searchFields)
+                               + " AND flv.fieldvalues.deleted = false AND 
flv.language_id = :lang";
+               TypedQuery<Long> q = em.createQuery(sql, Long.class);
+               q.setParameter("lang", language_id);
+               return q.getSingleResult();
        }
        
        public void update(Fieldvalues entity, long userId) {

Modified: 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/ConfirmCallListener.java
URL: 
http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/ConfirmCallListener.java?rev=1399309&r1=1399308&r2=1399309&view=diff
==============================================================================
--- 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/ConfirmCallListener.java
 (original)
+++ 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/ConfirmCallListener.java
 Wed Oct 17 15:33:22 2012
@@ -32,6 +32,6 @@ public class ConfirmCallListener extends
        //TODO confirm need to be replaced with jQuery modal dialog
        public ConfirmCallListener(long id, String js) {
                onPrecondition("if (!confirm('" + 
JavaScriptUtils.escapeQuotes(WebSession.getString(id)) + "')) {" 
-                               + js + "; return false;}");
+                               + js + "; hideBusyIndicator(); return false;}");
        }
 }

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=1399309&r1=1399308&r2=1399309&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
 Wed Oct 17 15:33:22 2012
@@ -82,15 +82,14 @@ public class LabelsForm extends AdminBas
                Application.getBean(FieldLanguagesValuesDaoImpl.class)
                        .update(flv, WebSession.getUserId());
                hideNewRecord();
-               // FIXME reload
+               target.add(panel.listContainer);
        }
 
-       // FIXME confirmation
        @Override
        protected void onDeleteSubmit(AjaxRequestTarget target, Form<?> form) {
                Application.getBean(FieldLanguagesValuesDaoImpl.class)
                        .delete(getModelObject(), WebSession.getUserId());
-               // FIXME reload
+               target.add(panel.listContainer);
        }
 
 }

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=1399309&r1=1399308&r2=1399309&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
 Wed Oct 17 15:33:22 2012
@@ -48,6 +48,7 @@ public class LangPanel extends AdminPane
        private static final long serialVersionUID = 5904180813198016592L;
 
        FieldLanguage language;
+       final WebMarkupContainer listContainer;
        private LangForm langForm;
 
        public LangPanel(String id) {
@@ -63,16 +64,21 @@ public class LangPanel extends AdminPane
                add(form);
 
                final OmDataView<Fieldvalues> dataView = new 
OmDataView<Fieldvalues>(
-                               "langList", new OmDataProvider<Fieldvalues>(
-                                               FieldValueDaoImpl.class) {
+                               "langList"
+                               , new 
OmDataProvider<Fieldvalues>(FieldValueDaoImpl.class) {
                                        private static final long 
serialVersionUID = -6822789354860988626L;
 
-                                       public Iterator<? extends Fieldvalues> 
iterator(
-                                                       long first, long count) 
{
-                                               return Application
-                                                               
.getBean(FieldValueDaoImpl.class)
-                                                               
.get(language.getLanguage_id(), (int) first,
-                                                                               
(int) count).iterator();
+                                       @Override
+                                       public long size() {
+                                               return search == null
+                                                               ? 
Application.getBean(FieldValueDaoImpl.class).count()
+                                                               : 
Application.getBean(FieldValueDaoImpl.class).count(language.getLanguage_id(), 
search);
+                                       }
+                                       
+                                       public Iterator<? extends Fieldvalues> 
iterator(long first, long count) {
+                                               return (search == null
+                                                               ? 
Application.getBean(FieldValueDaoImpl.class).get(language.getLanguage_id(), 
(int)first, (int)count)
+                                                               : 
Application.getBean(FieldValueDaoImpl.class).get(language.getLanguage_id(), 
search, (int)first, (int)count)).iterator();
                                        }
                                }) {
                        private static final long serialVersionUID = 
8715559628755439596L;
@@ -97,8 +103,7 @@ public class LangPanel extends AdminPane
                        }
                };
 
-               final WebMarkupContainer listContainer = new WebMarkupContainer(
-                               "listContainer");
+               listContainer = new WebMarkupContainer("listContainer");
                add(listContainer.add(dataView).setOutputMarkupId(true));
                add(new PagedEntityListPanel("navigator", dataView) {
                        private static final long serialVersionUID = 
5097048616003411362L;


Reply via email to