Author: solomax
Date: Fri Oct 12 09:23:41 2012
New Revision: 1397489

URL: http://svn.apache.org/viewvc?rev=1397489&view=rev
Log:
MySQL is switched to InnoDB
Wicket: language panel is fixed

Added:
    
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/basic/FieldValueDaoImpl.java
Modified:
    
incubator/openmeetings/trunk/singlewebapp/WebContent/WEB-INF/openmeetings-applicationContext.xml
    incubator/openmeetings/trunk/singlewebapp/src/META-INF/mysql_persistence.xml
    
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/basic/FieldLanguagesValuesDaoImpl.java
    
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/persistence/beans/lang/Fieldlanguagesvalues.java
    
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/persistence/beans/lang/Fieldvalues.java
    
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/groups/GroupsPanel.java
    
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/labels/LangPanel.java

Modified: 
incubator/openmeetings/trunk/singlewebapp/WebContent/WEB-INF/openmeetings-applicationContext.xml
URL: 
http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/WebContent/WEB-INF/openmeetings-applicationContext.xml?rev=1397489&r1=1397488&r2=1397489&view=diff
==============================================================================
--- 
incubator/openmeetings/trunk/singlewebapp/WebContent/WEB-INF/openmeetings-applicationContext.xml
 (original)
+++ 
incubator/openmeetings/trunk/singlewebapp/WebContent/WEB-INF/openmeetings-applicationContext.xml
 Fri Oct 12 09:23:41 2012
@@ -188,6 +188,7 @@
        <bean id="omTimeZoneDaoImpl" 
class="org.apache.openmeetings.data.basic.dao.OmTimeZoneDaoImpl" />
        <bean id="statemanagement" 
class="org.apache.openmeetings.data.user.dao.StateDaoImpl" />
        <bean id="fieldLanguageDaoImpl" 
class="org.apache.openmeetings.data.basic.FieldLanguageDaoImpl" />
+       <bean id="fieldValueDaoImpl" 
class="org.apache.openmeetings.data.basic.FieldValueDaoImpl" />
        <bean id="fieldLanguagesValuesDAO" 
class="org.apache.openmeetings.data.basic.FieldLanguagesValuesDaoImpl" />
        <bean id="fieldmanagment" 
class="org.apache.openmeetings.data.basic.Fieldmanagment" />
        <bean id="configurationDaoImpl" 
class="org.apache.openmeetings.data.basic.dao.ConfigurationDaoImpl" />

Modified: 
incubator/openmeetings/trunk/singlewebapp/src/META-INF/mysql_persistence.xml
URL: 
http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/META-INF/mysql_persistence.xml?rev=1397489&r1=1397488&r2=1397489&view=diff
==============================================================================
--- 
incubator/openmeetings/trunk/singlewebapp/src/META-INF/mysql_persistence.xml 
(original)
+++ 
incubator/openmeetings/trunk/singlewebapp/src/META-INF/mysql_persistence.xml 
Fri Oct 12 09:23:41 2012
@@ -89,7 +89,7 @@
                        <property name="openjpa.DataCache" value="true"/>
                        <!-- QueryCache disabled due to changes outside of JPA 
doesn't take effect with caching -->
                        <property name="openjpa.QueryCache" value="false"/>
-                       <property name="openjpa.jdbc.DBDictionary"  
value="batchLimit=100,tableType=myisam"/> 
+                       <property name="openjpa.jdbc.DBDictionary"  
value="batchLimit=100"/> 
                        <property name="openjpa.jdbc.QuerySQLCache"  
value="false"/> 
                </properties>
        </persistence-unit>

Modified: 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/basic/FieldLanguagesValuesDaoImpl.java
URL: 
http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/basic/FieldLanguagesValuesDaoImpl.java?rev=1397489&r1=1397488&r2=1397489&view=diff
==============================================================================
--- 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/basic/FieldLanguagesValuesDaoImpl.java
 (original)
+++ 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/basic/FieldLanguagesValuesDaoImpl.java
 Fri Oct 12 09:23:41 2012
@@ -92,6 +92,19 @@ public class FieldLanguagesValuesDaoImpl
                return flv;
        }
 
+       public Fieldlanguagesvalues get(long fieldValuesId, long langId) {
+               TypedQuery<Fieldlanguagesvalues> q = em.createNamedQuery(
+                               "getFieldLanguagesValuesByValueAndLang", 
Fieldlanguagesvalues.class);
+               q.setParameter("fieldValuesId", fieldValuesId);
+               q.setParameter("lang", langId);
+               Fieldlanguagesvalues flv = null;
+               try {
+                       flv = q.getSingleResult();
+               } catch (NoResultException e) {
+               }
+               return flv;
+       }
+
        /*
         * (non-Javadoc)
         * 

Added: 
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=1397489&view=auto
==============================================================================
--- 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/basic/FieldValueDaoImpl.java
 (added)
+++ 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/basic/FieldValueDaoImpl.java
 Fri Oct 12 09:23:41 2012
@@ -0,0 +1,88 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.openmeetings.data.basic;
+
+import java.util.List;
+
+import javax.persistence.EntityManager;
+import javax.persistence.PersistenceContext;
+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.Fieldvalues;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.transaction.annotation.Transactional;
+
+@Transactional
+public class FieldValueDaoImpl implements OmDAO<Fieldvalues> {
+       @PersistenceContext
+       private EntityManager em;
+       @Autowired
+       private ConfigurationDaoImpl configurationDaoImpl;
+       @Autowired
+       private FieldLanguagesValuesDaoImpl flvDaoImpl;
+
+       public Fieldvalues get(long id) {
+               return get(configurationDaoImpl.getConfValue("default_lang_id",
+                               Long.class, "1"), id);
+       }
+
+       public Fieldvalues get(Long language_id, long id) {
+               TypedQuery<Fieldvalues> q = 
em.createNamedQuery("getFieldByIdAndLanguage", Fieldvalues.class);
+               q.setParameter("id", id);
+               q.setParameter("lang", language_id);
+               List<Fieldvalues> l = q.getResultList();
+               return l == null || l.isEmpty() ? null : l.get(0);
+       }
+
+       public List<Fieldvalues> get(int start, int count) {
+               return get(configurationDaoImpl.getConfValue("default_lang_id",
+                               Long.class, "1"), start, count);
+       }
+
+       public List<Fieldvalues> get(Long language_id, int start, int count) {
+               TypedQuery<Fieldvalues> q = 
em.createNamedQuery("getFieldByLanguage", Fieldvalues.class);
+               //q.setParameter("lang", language_id); //FIXME commented for now
+               q.setFirstResult(start);
+               q.setMaxResults(count);
+               List<Fieldvalues> result = q.getResultList();
+               for (Fieldvalues fv : result) {
+                       //FIXME ineffective !!!!!!!!!!!!!!!!!!!!
+                       
fv.setFieldlanguagesvalue(flvDaoImpl.get(fv.getFieldvalues_id(), language_id));
+               }
+               return result;
+       }
+
+       public long count() {
+               TypedQuery<Long> q = em.createNamedQuery("getFieldCount", 
Long.class);
+               return q.getSingleResult();
+       }
+
+       public void update(Fieldvalues entity, long userId) {
+               // TODO Auto-generated method stub
+               
+       }
+
+       public void delete(Fieldvalues entity, long userId) {
+               // TODO Auto-generated method stub
+               
+       }
+
+}

Modified: 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/persistence/beans/lang/Fieldlanguagesvalues.java
URL: 
http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/persistence/beans/lang/Fieldlanguagesvalues.java?rev=1397489&r1=1397488&r2=1397489&view=diff
==============================================================================
--- 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/persistence/beans/lang/Fieldlanguagesvalues.java
 (original)
+++ 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/persistence/beans/lang/Fieldlanguagesvalues.java
 Fri Oct 12 09:23:41 2012
@@ -54,6 +54,8 @@ import org.apache.openmeetings.persisten
                + "             AND flv.language_id = 1 AND flv.fieldvalues_id 
NOT IN (:id_list)")
        , @NamedQuery(name="getFieldLanguagesValuesById"
                , query = "SELECT f FROM Fieldlanguagesvalues f WHERE 
f.fieldlanguagesvalues_id = :id")
+       , @NamedQuery(name="getFieldLanguagesValuesByValueAndLang"
+               , query = "SELECT f FROM Fieldlanguagesvalues f WHERE 
f.fieldvalues_id = :fieldValuesId AND f.language_id = :lang AND f.deleted = 
false")
 })
 @Table(name = "fieldlanguagesvalues")
 public class Fieldlanguagesvalues implements Serializable, OmEntity {

Modified: 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/persistence/beans/lang/Fieldvalues.java
URL: 
http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/persistence/beans/lang/Fieldvalues.java?rev=1397489&r1=1397488&r2=1397489&view=diff
==============================================================================
--- 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/persistence/beans/lang/Fieldvalues.java
 (original)
+++ 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/persistence/beans/lang/Fieldvalues.java
 Fri Oct 12 09:23:41 2012
@@ -33,12 +33,18 @@ import javax.persistence.OneToMany;
 import javax.persistence.Table;
 import javax.persistence.Transient;
 
+import org.apache.openmeetings.persistence.beans.OmEntity;
+
 @Entity
 @NamedQueries({
        @NamedQuery(name = "getFieldCount", query = "SELECT COUNT(fv) FROM 
Fieldvalues fv WHERE fv.deleted = false ")
+       , @NamedQuery(name = "getFieldByIdAndLanguage", query = "SELECT fv FROM 
Fieldvalues fv " +
+               "LEFT OUTER JOIN FETCH fv.fieldlanguagesvalues flv WHERE " +
+               "       fv.fieldvalues_id = :id AND fv.deleted = false AND 
flv.language_id = :lang")
+       , @NamedQuery(name = "getFieldByLanguage", query = "SELECT fv FROM 
Fieldvalues fv WHERE fv.deleted = false") //FIXME no language yet
 })
 @Table(name = "fieldvalues")
-public class Fieldvalues implements Serializable {
+public class Fieldvalues implements Serializable, OmEntity {
        private static final long serialVersionUID = -3439614511218028085L;
        @Id
        @Column(name="id")

Modified: 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/groups/GroupsPanel.java
URL: 
http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/groups/GroupsPanel.java?rev=1397489&r1=1397488&r2=1397489&view=diff
==============================================================================
--- 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/groups/GroupsPanel.java
 (original)
+++ 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/groups/GroupsPanel.java
 Fri Oct 12 09:23:41 2012
@@ -80,7 +80,6 @@ public class GroupsPanel extends AdminPa
                                                form.hideNewRecord();
                                                
form.setModelObject(organisation);
                                                form.updateView(target);
-                                               //target.add(form);
                                        }
                                });
                                item.add(AttributeModifier.append("class", 
"clickable " + ((item.getIndex() % 2 == 1) ? "even" : "odd")));

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=1397489&r1=1397488&r2=1397489&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
 Fri Oct 12 09:23:41 2012
@@ -21,9 +21,10 @@ package org.apache.openmeetings.web.comp
 import java.util.Iterator;
 
 import org.apache.openmeetings.data.basic.FieldLanguageDaoImpl;
-import org.apache.openmeetings.data.basic.FieldLanguagesValuesDaoImpl;
+import org.apache.openmeetings.data.basic.FieldValueDaoImpl;
 import org.apache.openmeetings.persistence.beans.lang.FieldLanguage;
 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.components.admin.AdminPanel;
 import org.apache.openmeetings.web.components.admin.PagedEntityListPanel;
@@ -60,15 +61,15 @@ public class LangPanel extends AdminPane
                form.showNewRecord();
                add(form);
 
-               final DataView<Fieldlanguagesvalues> dataView = new 
DataView<Fieldlanguagesvalues>(
-                               "langList", new 
OmDataProvider<Fieldlanguagesvalues>(
-                                               
FieldLanguagesValuesDaoImpl.class) {
+               final DataView<Fieldvalues> dataView = new 
DataView<Fieldvalues>(
+                               "langList", new OmDataProvider<Fieldvalues>(
+                                               FieldValueDaoImpl.class) {
                                        private static final long 
serialVersionUID = -6822789354860988626L;
 
-                                       public Iterator<? extends 
Fieldlanguagesvalues> iterator(
+                                       public Iterator<? extends Fieldvalues> 
iterator(
                                                        long first, long count) 
{
                                                return Application
-                                                               
.getBean(FieldLanguagesValuesDaoImpl.class)
+                                                               
.getBean(FieldValueDaoImpl.class)
                                                                
.get(language.getLanguage_id(), (int) first,
                                                                                
(int) count).iterator();
                                        }
@@ -76,16 +77,16 @@ public class LangPanel extends AdminPane
                        private static final long serialVersionUID = 
8715559628755439596L;
 
                        @Override
-                       protected void populateItem(final 
Item<Fieldlanguagesvalues> item) {
-                               final Fieldlanguagesvalues flv = 
item.getModelObject();
-                               item.add(new Label("lblId", "" + 
flv.getFieldvalues_id()));
-                               item.add(new Label("name", 
flv.getFieldvalues().getName()));
-                               item.add(new Label("value", flv.getValue()));
+                       protected void populateItem(final Item<Fieldvalues> 
item) {
+                               final Fieldvalues fv = item.getModelObject();
+                               item.add(new Label("lblId", "" + 
fv.getFieldvalues_id()));
+                               item.add(new Label("name", fv.getName()));
+                               item.add(new Label("value", 
fv.getFieldlanguagesvalue() != null ? fv.getFieldlanguagesvalue().getValue() : 
null));
                                item.add(new AjaxEventBehavior("onclick") {
                                        private static final long 
serialVersionUID = -8069413566800571061L;
 
                                        protected void 
onEvent(AjaxRequestTarget target) {
-                                               form.setModelObject(flv);
+                                               
form.setModelObject(fv.getFieldlanguagesvalue());
                                                form.hideNewRecord();
                                                target.add(form);
                                        }


Reply via email to