knguyen     2004/09/02 11:58:40 CEST

  Modified files:
    core/src/java/org/jahia/data/containers 
                                            ContainerFilterBean.java 
                                            ContainerFilterByContainerDefinition.java 
                                            ContainerSorterBean.java 
                                            ContainerSorterByContainerDefinition.java 
  Log:
  - back port changes
  
  Revision  Changes    Path
  1.8       +2 -2      
jahia/core/src/java/org/jahia/data/containers/ContainerFilterBean.java
http://jahia.mine.nu:8080/cgi-bin/cvsweb.cgi/jahia/core/src/java/org/jahia/data/containers/ContainerFilterBean.java.diff?r1=1.7&r2=1.8&f=h
  1.5       +40 -4     
jahia/core/src/java/org/jahia/data/containers/ContainerFilterByContainerDefinition.java
http://jahia.mine.nu:8080/cgi-bin/cvsweb.cgi/jahia/core/src/java/org/jahia/data/containers/ContainerFilterByContainerDefinition.java.diff?r1=1.4&r2=1.5&f=h
  1.8       +21 -2     
jahia/core/src/java/org/jahia/data/containers/ContainerSorterBean.java
http://jahia.mine.nu:8080/cgi-bin/cvsweb.cgi/jahia/core/src/java/org/jahia/data/containers/ContainerSorterBean.java.diff?r1=1.7&r2=1.8&f=h
  1.6       +20 -2     
jahia/core/src/java/org/jahia/data/containers/ContainerSorterByContainerDefinition.java
http://jahia.mine.nu:8080/cgi-bin/cvsweb.cgi/jahia/core/src/java/org/jahia/data/containers/ContainerSorterByContainerDefinition.java.diff?r1=1.5&r2=1.6&f=h
  
  
  
  Index: ContainerFilterBean.java
  ===================================================================
  RCS file: 
/home/cvs/repository/jahia/core/src/java/org/jahia/data/containers/ContainerFilterBean.java,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- ContainerFilterBean.java  18 Aug 2004 13:24:52 -0000      1.7
  +++ ContainerFilterBean.java  2 Sep 2004 09:58:40 -0000       1.8
  @@ -1532,6 +1532,7 @@
                           result.set(I.intValue());
                       }
                   }
  +                i++;
               }
           }
   
  @@ -1626,12 +1627,11 @@
           if ( siteId != -1 ){
               buff.append(" AND jahiaid_jahia_ctn_entries=");
               buff.append(siteId);
  -            buff.append(" AND ");
           }
   
           if ( containerDefinitionName != null &&
                !"".equals(containerDefinitionName.trim()) ){
  -            buff.append(" ctndefid_jahia_ctn_entries = id_jahia_ctn_def ");
  +            buff.append(" AND ctndefid_jahia_ctn_entries = id_jahia_ctn_def ");
               buff.append(" AND name_jahia_ctn_def='");
               buff.append(JahiaTools.quote(containerDefinitionName));
               buff.append("'");
  
  
  
  Index: ContainerFilterByContainerDefinition.java
  ===================================================================
  RCS file: 
/home/cvs/repository/jahia/core/src/java/org/jahia/data/containers/ContainerFilterByContainerDefinition.java,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- ContainerFilterByContainerDefinition.java 18 Aug 2004 13:10:03 -0000      1.4
  +++ ContainerFilterByContainerDefinition.java 2 Sep 2004 09:58:40 -0000       1.5
  @@ -109,7 +109,7 @@
        */
       private BitSet doFiltering (int ctnListID)
           throws JahiaException {
  -        String fieldFilterQuery = getSelect(ctnListID);
  +        String fieldFilterQuery = getSelect(ctnListID,true);
           if (fieldFilterQuery == null && !fieldFilterQuery.trim().equals("")) {
               return null;
           }
  @@ -157,19 +157,34 @@
       }
   
       //--------------------------------------------------------------------------
  +
  +    //--------------------------------------------------------------------------
       /**
        * Return the select statement, build with the clauses for all container list 
of the site.
  +     * Do not execute this query !! It's only used for comparison between query.
  +     * It's not a valable sql query.
        *
        * @param int ctnListID, the container list id
        * @return String , the sql statement. Null on error
        */
       public String getSelect (int ctnListID) {
  +        return getSelect (ctnListID, false);
  +    }
  +
  +    /**
  +     * Return the select statement, build with the clauses for all container list 
of the site.
  +     *
  +     * @param int ctnListID, the container list id
  +     * @param ignoreLang boolean, add language in query or not ( should not when 
performing sql query, because containre table do not have lang column
  +     * @return String , the sql statement. Null on error
  +     */
  +    protected String getSelect (int ctnListID, boolean ignoreLang) {
           //JahiaConsole.println("ContainerFilterBean.getSelect","Started");
   
           StringBuffer buff = new StringBuffer("SELECT DISTINCT 
id_jahia_ctn_entries,workflow_state FROM jahia_ctn_entries WHERE 
listid_jahia_ctn_entries=");
           buff.append(ctnListID);
           buff.append(" AND ");
  -        buff.append(getMultilangAndStagingFiltering(this.entryLoadRequest));
  +        
buff.append(getMultilangAndStagingFiltering(this.entryLoadRequest,ignoreLang));
           buff.append(" ORDER BY id_jahia_ctn_entries, workflow_state");
   
           return buff.toString();
  @@ -370,7 +385,7 @@
                                         int listId)
           throws JahiaException {
           String fieldFilterQuery = this.getSelectBySiteID(siteId,
  -            containerDefinitionName);
  +            containerDefinitionName,true);
           if (fieldFilterQuery == null && !fieldFilterQuery.trim().equals("")) {
               return null;
           }
  @@ -428,14 +443,35 @@
        * If the containerDefinitionName is null, return result from all containers
        * no regards to it definition !
        *
  +     * Do not execute this query !! It's only used for comparison between query.
  +     * It's not a valable sql query.
  +     *
        * @param siteId
        * @param containerDefinitionName
  +     * @param ignoreLang boolean, add language in query or not ( should not when 
performing sql query, because containre table do not have lang column
        * @return
        */
       public String getSelectBySiteID (int siteId, String containerDefinitionName) {
  +        return getSelectBySiteID (siteId, containerDefinitionName, false);
  +    }
  +
  +    /**
  +     * Return the select statement, build with the clauses for a given site.
  +     * If siteId = -1 -> build query for all sites
  +     *
  +     * If the containerDefinitionName is null, return result from all containers
  +     * no regards to it definition !
  +     *
  +     * @param siteId
  +     * @param containerDefinitionName
  +     * @param ignoreLang boolean, add language in query or not ( should not when 
performing sql query, because containre table do not have lang column
  +     * @return
  +     */
  +    public String getSelectBySiteID (int siteId, String containerDefinitionName,
  +                                     boolean ignoreLang) {
   
           StringBuffer buff = new StringBuffer("SELECT DISTINCT 
id_jahia_ctn_entries,workflow_state FROM jahia_ctn_entries a, jahia_ctn_def b WHERE ");
  -        buff.append(getMultilangAndStagingFiltering(this.entryLoadRequest));
  +        
buff.append(getMultilangAndStagingFiltering(this.entryLoadRequest,ignoreLang));
   
           if (siteId != -1) {
               buff.append(" AND ");
  
  
  
  Index: ContainerSorterBean.java
  ===================================================================
  RCS file: 
/home/cvs/repository/jahia/core/src/java/org/jahia/data/containers/ContainerSorterBean.java,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- ContainerSorterBean.java  18 Aug 2004 13:10:03 -0000      1.7
  +++ ContainerSorterBean.java  2 Sep 2004 09:58:40 -0000       1.8
  @@ -19,6 +19,7 @@
   
   package org.jahia.data.containers;
   
  +import java.io.Serializable;
   import java.sql.Connection;
   import java.sql.ResultSet;
   import java.sql.SQLException;
  @@ -35,14 +36,16 @@
   import java.util.TimeZone;
   import java.util.Vector;
   
  +import org.jahia.bin.Jahia;
  +import org.jahia.data.fields.ExpressionMarker;
   import org.jahia.exceptions.JahiaException;
   import org.jahia.params.ParamBean;
   import org.jahia.registries.ServicesRegistry;
   import org.jahia.resourcebundle.ResourceBundleMarker;
  +import org.jahia.services.fields.ContentField;
   import org.jahia.services.version.EntryLoadRequest;
   import org.jahia.utils.JahiaTools;
  -import java.io.Serializable;
  -import org.jahia.services.fields.ContentField;
  +
   
   /**
    * Jahia Standard Containers Sort Handler for a given container list.
  @@ -522,6 +525,22 @@
                               workflowState = EntryLoadRequest.STAGING_WORKFLOW_STATE;
                           }
   
  +                        if (Jahia.getThreadParamBean() != null) {
  +                            // expression marker
  +                            ExpressionMarker exprMarker = 
ExpressionMarker.parseMarkerValue(fieldValue, Jahia.getThreadParamBean());
  +                            if ( exprMarker != null ){
  +                                try {
  +                                    String value = exprMarker.getValue();
  +                                    if ( value != null && !"".equals(value) ){
  +                                        fieldValue = value;
  +                                    }
  +                                }
  +                                catch (Throwable t) {
  +                                    logger.debug("Problem while evaluating 
expression " + exprMarker.getExpr(), t);
  +                                }
  +                            }
  +                        }
  +
                           // resbundle marker
                           ResourceBundleMarker resMarker = 
ResourceBundleMarker.parseMarkerValue(fieldValue);
                           if ( resMarker != null ){
  
  
  
  Index: ContainerSorterByContainerDefinition.java
  ===================================================================
  RCS file: 
/home/cvs/repository/jahia/core/src/java/org/jahia/data/containers/ContainerSorterByContainerDefinition.java,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- ContainerSorterByContainerDefinition.java 18 Aug 2004 13:10:03 -0000      1.5
  +++ ContainerSorterByContainerDefinition.java 2 Sep 2004 09:58:40 -0000       1.6
  @@ -19,6 +19,7 @@
   
   package org.jahia.data.containers;
   
  +import java.io.Serializable;
   import java.sql.Connection;
   import java.sql.ResultSet;
   import java.sql.SQLException;
  @@ -35,12 +36,13 @@
   import java.util.TimeZone;
   import java.util.Vector;
   
  +import org.jahia.bin.Jahia;
  +import org.jahia.data.fields.ExpressionMarker;
   import org.jahia.exceptions.JahiaException;
   import org.jahia.resourcebundle.ResourceBundleMarker;
  +import org.jahia.services.fields.ContentField;
   import org.jahia.services.version.EntryLoadRequest;
   import org.jahia.utils.JahiaTools;
  -import java.io.Serializable;
  -import org.jahia.services.fields.ContentField;
   
   /**
    * Jahia Standard Containers Sort Handler for a containers on containers
  @@ -376,6 +378,22 @@
                               workflowState = EntryLoadRequest.STAGING_WORKFLOW_STATE;
                           }
   
  +                        if (Jahia.getThreadParamBean() != null) {
  +                            // expression marker
  +                            ExpressionMarker exprMarker = 
ExpressionMarker.parseMarkerValue(fieldValue, Jahia.getThreadParamBean());
  +                            if ( exprMarker != null ){
  +                                try {
  +                                    String value = exprMarker.getValue();
  +                                    if ( value != null && !"".equals(value) ){
  +                                        fieldValue = value;
  +                                    }
  +                                }
  +                                catch (Throwable t) {
  +                                    logger.debug("Problem while evaluating 
expression " + exprMarker.getExpr(), t);
  +                                }
  +                            }
  +                        }
  +
                           // resbundle marker
                           ResourceBundleMarker resMarker = 
ResourceBundleMarker.parseMarkerValue(fieldValue);
                           if ( resMarker != null ){
  

Reply via email to