cmailleux    2005/12/12 17:40:45 CET

  Modified files:
    core/src/java/org/jahia/hibernate/dao JahiaFieldsDataDAO.java 
  Log:
  Return the most recent field id
  
  Revision  Changes    Path
  1.26      +4 -5      
jahia/core/src/java/org/jahia/hibernate/dao/JahiaFieldsDataDAO.java
http://jahia.mine.nu:8080/cgi-bin/cvsweb.cgi/jahia/core/src/java/org/jahia/hibernate/dao/JahiaFieldsDataDAO.java.diff?r1=1.25&r2=1.26&f=h
  
  
  
  Index: JahiaFieldsDataDAO.java
  ===================================================================
  RCS file: 
/home/cvs/repository/jahia/core/src/java/org/jahia/hibernate/dao/JahiaFieldsDataDAO.java,v
  retrieving revision 1.25
  retrieving revision 1.26
  diff -u -r1.25 -r1.26
  --- JahiaFieldsDataDAO.java   5 Dec 2005 12:22:03 -0000       1.25
  +++ JahiaFieldsDataDAO.java   12 Dec 2005 16:40:44 -0000      1.26
  @@ -7,14 +7,13 @@
   import org.apache.commons.collections.FastHashMap;
   import org.apache.commons.logging.Log;
   import org.apache.commons.logging.LogFactory;
  +import org.jahia.content.ContentFieldKey;
   import org.jahia.data.fields.FieldTypes;
   import org.jahia.hibernate.model.*;
   import org.jahia.services.fields.ContentFieldTypes;
   import org.jahia.services.version.EntryLoadRequest;
  -import org.jahia.content.ContentFieldKey;
   import org.springframework.orm.ObjectRetrievalFailureException;
   import org.springframework.orm.hibernate3.HibernateTemplate;
  -import org.springframework.orm.hibernate3.support.HibernateDaoSupport;
   
   import java.util.*;
   
  @@ -465,14 +464,14 @@
   
       public Integer getAnyPageFieldID(Integer pageID) {
           Integer retInteger = null;
  -        String hql = "select distinct f.comp_id.id from JahiaFieldsData f 
where f.type=" + FieldTypes.PAGE +
  -                     " and f.value=?";
  +        String hql = "select distinct f.comp_id.id,f.comp_id.versionId from 
JahiaFieldsData f where f.type=" + FieldTypes.PAGE +
  +                     " and f.value=? order by f.comp_id.versionId desc";
           if (pageID != null) {
               final HibernateTemplate template = getHibernateTemplate();
               template.setCacheQueries(true);
               List list = template.find(hql.toString(), new 
Object[]{pageID.toString()});
               if (list.size() > 0) {
  -                retInteger = (Integer) list.get(0);
  +                retInteger = (Integer) (((Object[]) list.get(0))[0]);
               } else {
                   throw new ObjectRetrievalFailureException("Cannot retrieve 
jahia fields for this page", pageID);
               }
  

Reply via email to