You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@openmeetings.apache.org by "seba.wagner@gmail.com" <se...@gmail.com> on 2012/10/13 19:11:07 UTC
Re: svn commit: r1397489 - in /incubator/openmeetings/trunk/singlewebapp:
WebContent/WEB-INF/ src/META-INF/ src/org/apache/openmeetings/data/basic/
src/org/apache/openmeetings/persistence/beans/lang/ src/org/apache/openmeetings/web/components/admin/g
Adding a new label + press save results in:
<openjpa-2.2.0-r422266:1244990 nonfatal user error>
org.apache.openjpa.persistence.InvalidStateException: Encountered
unmanaged object
"org.apache.openmeetings.persistence.beans.lang.Fieldvalues@605a28" in
life cycle state unmanaged while cascading persistence via field
"org.apache.openmeetings.persistence.beans.lang.Fieldlanguagesvalues.fieldvalues"
during flush. However, this field does not allow cascade persist. You
cannot flush unmanaged objects or graphs that have persistent
associations to unmanaged objects.
Suggested actions: a) Set the cascade attribute for this field to
CascadeType.PERSIST or CascadeType.ALL (JPA annotations) or "persist"
or "all" (JPA orm.xml),
b) enable cascade-persist globally,
c) manually persist the related field value prior to flushing.
d) if the reference belongs to another context, allow reference to it
by setting StoreContext.setAllowReferenceToSiblingContext().
FailedObject: org.apache.openmeetings.persistence.beans.lang.Fieldvalues@605a28
Sebastian
2012/10/12 <so...@apache.org>
> 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);
> }
>
>
>
--
Sebastian Wagner
https://twitter.com/#!/dead_lock
http://www.webbase-design.de
http://www.wagner-sebastian.com
seba.wagner@gmail.com
Re: svn commit: r1397489 - in /incubator/openmeetings/trunk/singlewebapp:
WebContent/WEB-INF/ src/META-INF/ src/org/apache/openmeetings/data/basic/
src/org/apache/openmeetings/persistence/beans/lang/ src/org/apache/openmeetings/web/components/admin/g
Posted by Maxim Solodovnik <so...@gmail.com>.
Thanks for pointing this out, forget to correct this part
On Oct 14, 2012 12:11 AM, "seba.wagner@gmail.com" <se...@gmail.com>
wrote:
> Adding a new label + press save results in:
>
> <openjpa-2.2.0-r422266:1244990 nonfatal user error> org.apache.openjpa.persistence.InvalidStateException: Encountered unmanaged object "org.apache.openmeetings.persistence.beans.lang.Fieldvalues@605a28" in life cycle state unmanaged while cascading persistence via field "org.apache.openmeetings.persistence.beans.lang.Fieldlanguagesvalues.fieldvalues" during flush. However, this field does not allow cascade persist. You cannot flush unmanaged objects or graphs that have persistent associations to unmanaged objects.
>
>
> Suggested actions: a) Set the cascade attribute for this field to CascadeType.PERSIST or CascadeType.ALL (JPA annotations) or "persist" or "all" (JPA orm.xml),
> b) enable cascade-persist globally,
>
>
> c) manually persist the related field value prior to flushing.
> d) if the reference belongs to another context, allow reference to it by setting StoreContext.setAllowReferenceToSiblingContext().
> FailedObject: org.apache.openmeetings.persistence.beans.lang.Fieldvalues@605a28
>
>
> Sebastian
>
> 2012/10/12 <so...@apache.org>
>
>> 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);
>> }
>>
>>
>>
>
>
> --
> Sebastian Wagner
> https://twitter.com/#!/dead_lock
> http://www.webbase-design.de
> http://www.wagner-sebastian.com
> seba.wagner@gmail.com
>