dpillot     2005/12/02 18:58:31 CET

  Modified files:
    core/src/java/org/jahia/engines/importexport 
                                                 ManageContentPicker.java 
  Log:
  misc bugs:fix pid bug, queries persistence bug
  added ability to querying number as jahia_pid
  added languages cross-sites searching support
  
  Revision  Changes    Path
  1.56      +358 -378  
jahia/core/src/java/org/jahia/engines/importexport/ManageContentPicker.java
http://jahia.mine.nu:8080/cgi-bin/cvsweb.cgi/jahia/core/src/java/org/jahia/engines/importexport/ManageContentPicker.java.diff?r1=1.55&r2=1.56&f=h
  
  
  
  Index: ManageContentPicker.java
  ===================================================================
  RCS file: 
/home/cvs/repository/jahia/core/src/java/org/jahia/engines/importexport/ManageContentPicker.java,v
  retrieving revision 1.55
  retrieving revision 1.56
  diff -u -r1.55 -r1.56
  --- ManageContentPicker.java  1 Dec 2005 11:01:42 -0000       1.55
  +++ ManageContentPicker.java  2 Dec 2005 17:58:30 -0000       1.56
  @@ -1,13 +1,14 @@
   package org.jahia.engines.importexport;
   
  +import org.apache.commons.lang.StringUtils;
  +import org.jahia.bin.Jahia;
   import org.jahia.content.ContainerDefinitionKey;
   import org.jahia.content.ContentObject;
  -import org.jahia.content.ObjectKey;
   import org.jahia.data.containers.JahiaContainerDefinition;
   import org.jahia.data.search.JahiaContainerSearchHit;
   import org.jahia.data.search.JahiaSearchHit;
  -import org.jahia.data.search.JahiaSearchResult;
   import org.jahia.data.search.JahiaSearchHitInterface;
  +import org.jahia.data.search.JahiaSearchResult;
   import org.jahia.engines.JahiaEngine;
   import org.jahia.engines.search.Search_Engine;
   import org.jahia.exceptions.JahiaException;
  @@ -17,21 +18,22 @@
   import org.jahia.registries.ServicesRegistry;
   import org.jahia.services.containers.ContentContainer;
   import org.jahia.services.containers.ContentContainerList;
  -import org.jahia.services.containers.JahiaContainersService;
  -import org.jahia.services.fields.*;
  -import org.jahia.services.importexport.ImportExportService;
  +import org.jahia.services.fields.ContentField;
  +import org.jahia.services.fields.ContentPageField;
  +import org.jahia.services.fields.ContentSmallTextField;
   import org.jahia.services.importexport.CopyJob;
  +import org.jahia.services.importexport.ImportExportService;
  +import org.jahia.services.pages.ContentPage;
  +import org.jahia.services.scheduler.BackgroundJob;
  +import org.jahia.services.scheduler.SchedulerService;
   import org.jahia.services.search.*;
   import org.jahia.services.sites.JahiaSite;
   import org.jahia.services.sites.JahiaSitesService;
  +import org.jahia.services.sites.SiteLanguageSettings;
   import org.jahia.services.version.EntryLoadRequest;
  -import org.jahia.services.pages.ContentPage;
  -import org.jahia.services.scheduler.SchedulerService;
  -import org.jahia.services.scheduler.BackgroundJob;
   import org.jahia.utils.JahiaTools;
  -import org.jahia.bin.Jahia;
  -import org.quartz.JobDetail;
   import org.quartz.JobDataMap;
  +import org.quartz.JobDetail;
   
   import java.util.*;
   
  @@ -42,7 +44,7 @@
    *
    * @author Thomas Draier, joe Pillot
    * @author ${User}
  - * @version $Id: ManageContentPicker.java,v 1.55 2005/12/01 11:01:42 dpillot 
Exp $
  + * @version $Id: ManageContentPicker.java,v 1.56 2005/12/02 17:58:30 dpillot 
Exp $
    */
   public class ManageContentPicker {
       private static org.apache.log4j.Logger logger =
  @@ -55,7 +57,8 @@
       private static JahiaSearchService searchService;
       private static JahiaSitesService siteService;
       //private static MetadataService metaservice;
  -    private boolean ascOrder=true;
  +    private boolean ascOrder = true;
  +
       private ManageContentPicker() {
       }
   
  @@ -106,13 +109,11 @@
           ContainerDefinitionKey k = (ContainerDefinitionKey) 
object.getDefinitionKey(null);
           try {
               JahiaContainerDefinition def = (JahiaContainerDefinition) 
ContentObject.getInstance(k);
  -            engineMap.put("objecttype",def.getName());
  +            engineMap.put("objecttype", def.getName());
           } catch (ClassNotFoundException e) {
               logger.debug(e);
           }
   
  -
  -
           //engineMap.put("adminAccess", Boolean.TRUE);
   
           //check if we just need a sort on previous results
  @@ -127,7 +128,7 @@
                   ) {
               orderBy(o, engineMap, true);
               //engineMap.remove("orderby");
  -            engineMap.put("orderby",o);
  +            engineMap.put("orderby", o);
               return true;
           }
   
  @@ -156,7 +157,7 @@
       private boolean save(ProcessingContext jParams, HashMap engineMap, 
ContentObject object)
               throws JahiaException {
           String op = jParams.getParameter("contentPickOp");
  -        logger.debug("saving mode:pickop="+op);
  +        logger.debug("saving mode:pickop=" + op);
   
           try {
   
  @@ -171,7 +172,7 @@
                   String skey = source.getObjectKey().toString();
                   String dkey = object.getObjectKey().toString();
   
  -                JobDetail jobDetail = BackgroundJob.createJahiaJob("Copy 
"+skey+ " to "+dkey, jobClass, jParams);
  +                JobDetail jobDetail = BackgroundJob.createJahiaJob("Copy " + 
skey + " to " + dkey, jobClass, jParams);
   
                   JobDataMap jobDataMap;
                   jobDataMap = jobDetail.getJobDataMap();
  @@ -192,7 +193,7 @@
       /**
        * internal method to do the search
        *
  -     * @param object the initial destination object
  +     * @param object            the initial destination object
        * @param processingContext
        * @param engineMap
        * @throws Exception
  @@ -200,80 +201,84 @@
       private void doSearch(ContentObject object, ProcessingContext 
processingContext, HashMap engineMap)
               throws Exception {
   
  -        //domain scope
  +        boolean isPID = false;
   
  +        //domain scope
           Enumeration sites = siteService.getSites();
  -        /*
  -        int siteCount = siteService.getNbSites();
  -        engineMap.put("sitecount", "" + siteCount);
  -        engineMap.put("sites", sites);
  -        */
  +
           //get all parameters
           // main query
           String searchString = (String) 
processingContext.getParameter("query");
           String smode = (String) processingContext.getParameter("condition1");
  -        String query_concat_mode=(String) 
processingContext.getParameter("concat");
  +        String query_concat_mode = (String) 
processingContext.getParameter("concat");
   
           // checking NPE & emptyness of important params
  -        if(searchString ==null) searchString="";
  -        String query1=searchString;
  -        if(smode==null || smode.equalsIgnoreCase("")) smode="or";
  -        if(query_concat_mode==null || 
query_concat_mode.equalsIgnoreCase("")) query_concat_mode="or";
  +        if (searchString == null) searchString = "";
  +        String query1 = searchString;
  +
  +        // to remap a numeric input in PIDs
  +        if (StringUtils.isNumeric(searchString)) {
  +            //used to get a pid directly from the main request assuming 
number is pid number
  +            searchString = "jahia.page_id:" + 
NumberPadding.pad(searchString);
  +            isPID = true;
  +            logger.warn("assuming number is jahia PID page");
  +        }
  +
  +        if (smode == null || smode.equalsIgnoreCase("")) smode = "or";
  +        if (query_concat_mode == null || 
query_concat_mode.equalsIgnoreCase("")) query_concat_mode = "or";
   
           //get alt queries
           //query2
           //String query2=(String) processingContext.getParameter("query2");
  -        String query21=(String) processingContext.getParameter("query21");
  -        String query22=(String) processingContext.getParameter("query22");
  -        String query23=(String) processingContext.getParameter("query23");
  -        String query24=(String) 
processingContext.getParameter("condition24");
  -        String query244=(String) 
processingContext.getParameter("condition244");
  -        String smode2=(String) processingContext.getParameter("condition2");
  +        String query21 = processingContext.getParameter("query21");
  +        String query22 = processingContext.getParameter("query22");
  +        String query23 = processingContext.getParameter("query23");
  +        String query24 = processingContext.getParameter("condition24");
  +        String query244 = processingContext.getParameter("condition244");
  +        String smode2 = processingContext.getParameter("condition2");
           //query3
           //String query3=(String) processingContext.getParameter("query3");
  -        String query31=(String) processingContext.getParameter("query31");
  -        String query32=(String) processingContext.getParameter("query32");
  -        String query33=(String) processingContext.getParameter("query33");
  -        String query34=(String) 
processingContext.getParameter("condition34");
  -        String query344=(String) 
processingContext.getParameter("condition344");
  -        String smode3=(String) processingContext.getParameter("condition3");
  +        String query31 = processingContext.getParameter("query31");
  +        String query32 = processingContext.getParameter("query32");
  +        String query33 = processingContext.getParameter("query33");
  +        String query34 = processingContext.getParameter("condition34");
  +        String query344 = processingContext.getParameter("condition344");
  +        String smode3 = processingContext.getParameter("condition3");
           //query4
           //String query4=(String) processingContext.getParameter("query4");
  -        String query41=(String) processingContext.getParameter("query41");
  -        String query42=(String) processingContext.getParameter("query42");
  -        String query43=(String) processingContext.getParameter("query43");
  -        String query44=(String) 
processingContext.getParameter("condition44");
  -        String query444=(String) 
processingContext.getParameter("condition444");
  -        String smode4=(String) processingContext.getParameter("condition4");
  -
  -
  +        String query41 = processingContext.getParameter("query41");
  +        String query42 = processingContext.getParameter("query42");
  +        String query43 = processingContext.getParameter("query43");
  +        String query44 = processingContext.getParameter("condition44");
  +        String query444 = processingContext.getParameter("condition444");
  +        String smode4 = (String) 
processingContext.getParameter("condition4");
   
           //check NPE on alt queries and alt modes
           //if(query2==null) query2="";
  -        if(query21==null) query21="";
  -        if(query22==null) query22="";
  -        if(query23==null) query23="";
  -        if(query244==null) query244="-";
  +        if (query21 == null) query21 = "";
  +        if (query22 == null) query22 = "";
  +        if (query23 == null) query23 = "";
  +        if (query244 == null) query244 = "-";
   
           //if(query3==null) query3="";
  -        if(query31==null) query31="";
  -        if(query32==null) query32="";
  -        if(query33==null) query33="";
  -        if(query344==null) query344="-";
  +        if (query31 == null) query31 = "";
  +        if (query32 == null) query32 = "";
  +        if (query33 == null) query33 = "";
  +        if (query344 == null) query344 = "-";
   
           //if(query4==null) query4="";
  -        if(query41==null) query41="";
  -        if(query42==null) query42="";
  -        if(query43==null) query43="";
  -        if(query444==null) query444="-";
  +        if (query41 == null) query41 = "";
  +        if (query42 == null) query42 = "";
  +        if (query43 == null) query43 = "";
  +        if (query444 == null) query444 = "-";
   
           //conditions
  -        if(smode2==null) smode2="creator";//default
  -        if(smode3==null) smode3="creator";
  -        if(smode4==null) smode4="creator";
  -        engineMap.put("smode2",smode2);
  -        engineMap.put("smode3",smode3);
  -        engineMap.put("smode4",smode4);
  +        if (smode2 == null) smode2 = "creator";//default
  +        if (smode3 == null) smode3 = "creator";
  +        if (smode4 == null) smode4 = "creator";
  +        engineMap.put("smode2", smode2);
  +        engineMap.put("smode3", smode3);
  +        engineMap.put("smode4", smode4);
   
           //order
           String orderBy = (String) 
processingContext.getParameter("orderby");//orderby parameter
  @@ -282,7 +287,7 @@
               logger.warn("order set on default score");
           }
   
  -       //check on emptyness of queries
  +        //check on emptyness of queries
           if (searchString.equalsIgnoreCase("")
                   && (query21.equalsIgnoreCase("") || 
query22.equalsIgnoreCase("") || query23.equalsIgnoreCase("") || 
query244.equalsIgnoreCase("-"))
                   && (query31.equalsIgnoreCase("") || 
query32.equalsIgnoreCase("") || query33.equalsIgnoreCase("") || 
query344.equalsIgnoreCase("-"))
  @@ -291,198 +296,211 @@
   
               logger.debug("initialization of primary parameters to default 
values");
               engineMap.put("searchString", "");
  -            engineMap.put("smode","or");
  -            engineMap.put("concat","or");
  -            engineMap.put("orderby","score");
  +            engineMap.put("smode", "or");
  +            engineMap.put("concat", "or");
  +            engineMap.put("orderby", "score");
   
               //return;
           }
   
           //store alt queries non-null in engineMap
           //if(!query2.equalsIgnoreCase("")) engineMap.put("query2",query2);
  -        String query2="";
  -        String query3="";
  -        String query4="";
  -        long now=System.currentTimeMillis();
  -        long day=3600*1000*24;
  -        long aweek=now-(day*7);
  -        long amonth=now-(day*30);
  -        long amonths=now-(day*180);
  -        String[] 
scopedate={"jahia.metadata_lastpublishingdate:","jahia.metadata_lastmodificationdate:","jahia.metadata_creationdate:"};
  +        String query2 = "";
  +        String query3 = "";
  +        String query4 = "";
  +        long now = System.currentTimeMillis();
  +        long day = 3600 * 1000 * 24;
  +        long aweek = now - (day * 7);
  +        long amonth = now - (day * 30);
  +        long amonths = now - (day * 180);
  +        String[] scopedate = {"jahia.metadata_lastpublishingdate:", 
"jahia.metadata_lastmodificationdate:", "jahia.metadata_creationdate:"};
           //query2s
  -        if(!query21.equalsIgnoreCase("")) {
  -            engineMap.put("query21",query21);
  -            String subcondition=(String) 
processingContext.getParameter("condition21");
  -            if(subcondition!=null && 
subcondition.equalsIgnoreCase("creator")){
  -               query2="jahia.metadata_creator:"+query21;
  -            } else if(subcondition!=null && 
subcondition.equalsIgnoreCase("contributor")){
  -               query2="jahia.metadata_lastcontributor:"+query21;
  -            } else if(subcondition!=null && 
subcondition.equalsIgnoreCase("all")){
  -               query2="(jahia.metadata_creator:"+query21+" OR 
jahia.metadata_lastcontributor:"+query21+")";
  -            }
  -        }
  -        if(!query22.equalsIgnoreCase("")) {
  -            engineMap.put("query22",query22);
  -            query2="jahia.metadata_keywords:"+query22;
  -        }
  -        if(!query23.equalsIgnoreCase("")) {
  -            engineMap.put("query23",query23);
  -            query2="jahia.page_id:"+query23;
  -        }
  -        if(!query244.equalsIgnoreCase("-")) {
  -            engineMap.put("condition24",query24);
  -            engineMap.put("condition244",query244);
  -            int valscope=0;
  -            if(query24.equalsIgnoreCase("pub")) valscope=0;
  -                if(query24.equalsIgnoreCase("mod")) valscope=1;
  -                if(query24.equalsIgnoreCase("cre")) valscope=2;
  -            if(query244.equalsIgnoreCase("week")){
  -                query2=scopedate[valscope]+"["+NumberPadding.pad(aweek)+" TO 
"+NumberPadding.pad(now)+"]";
  -            } else if(query244.equalsIgnoreCase("month")){
  -                query2=scopedate[valscope]+"["+NumberPadding.pad(amonth)+" 
TO "+NumberPadding.pad(now)+"]";
  -            } else if(query244.equalsIgnoreCase("months")){
  -                query2=scopedate[valscope]+"["+NumberPadding.pad(amonths)+" 
TO "+NumberPadding.pad(now)+"]";
  +        engineMap.put("query21", query21);
  +        if (!query21.equalsIgnoreCase("")) {
  +
  +            String subcondition = 
processingContext.getParameter("condition21");
  +            if (subcondition != null && 
subcondition.equalsIgnoreCase("creator")) {
  +                query2 = "jahia.metadata_creator:" + query21;
  +            } else if (subcondition != null && 
subcondition.equalsIgnoreCase("contributor")) {
  +                query2 = "jahia.metadata_lastcontributor:" + query21;
  +            } else if (subcondition != null && 
subcondition.equalsIgnoreCase("all")) {
  +                query2 = "(jahia.metadata_creator:" + query21 + " OR 
jahia.metadata_lastcontributor:" + query21 + ")";
  +            }
  +        }
  +        engineMap.put("query22", query22);
  +        if (!query22.equalsIgnoreCase("")) {
  +
  +            query2 = "jahia.metadata_keywords:" + query22;
  +        }
  +        engineMap.put("query23", query23);
  +        if (!query23.equalsIgnoreCase("")) {
  +
  +            query2 = "jahia.page_id:" + NumberPadding.pad(query23);
  +            isPID=true;
  +
  +        }
  +        engineMap.put("condition24", query24);
  +        engineMap.put("condition244", query244);
  +        if (!query244.equalsIgnoreCase("-")) {
  +
  +
  +            int valscope = 0;
  +            if (query24.equalsIgnoreCase("pub")) valscope = 0;
  +            if (query24.equalsIgnoreCase("mod")) valscope = 1;
  +            if (query24.equalsIgnoreCase("cre")) valscope = 2;
  +            if (query244.equalsIgnoreCase("week")) {
  +                query2 = scopedate[valscope] + "[" + 
NumberPadding.pad(aweek) + " TO " + NumberPadding.pad(now) + "]";
  +            } else if (query244.equalsIgnoreCase("month")) {
  +                query2 = scopedate[valscope] + "[" + 
NumberPadding.pad(amonth) + " TO " + NumberPadding.pad(now) + "]";
  +            } else if (query244.equalsIgnoreCase("months")) {
  +                query2 = scopedate[valscope] + "[" + 
NumberPadding.pad(amonths) + " TO " + NumberPadding.pad(now) + "]";
               }
   
           }
   
           //query3s
  -        if(!query31.equalsIgnoreCase("")) {
  -            engineMap.put("query31",query31);
  -            String subcondition=(String) 
processingContext.getParameter("condition31");
  -            if(subcondition!=null && 
subcondition.equalsIgnoreCase("creator")){
  -               query3="jahia.metadata_creator:"+query31;
  -            } else if(subcondition!=null && 
subcondition.equalsIgnoreCase("contributor")){
  -               query3="jahia.metadata_lastcontributor:"+query31;
  -            } else if(subcondition!=null && 
subcondition.equalsIgnoreCase("all")){
  -               query3="(jahia.metadata_creator:"+query31+" OR 
jahia.metadata_lastcontributor:"+query31+")";
  -            }
  -        }
  -        if(!query32.equalsIgnoreCase("")) {
  -            engineMap.put("query32",query32);
  -            query3="jahia.metadata_keywords:"+query32;
  -        }
  -        if(!query33.equalsIgnoreCase("")) {
  -            engineMap.put("query33",query33);
  -            query3="jahia.page_id:"+query33;
  -        }
  -        if(!query344.equalsIgnoreCase("-")) {
  -            engineMap.put("condition34",query34);
  -            engineMap.put("condition344",query344);
  -            int valscope=0;
  -            if(query34.equalsIgnoreCase("pub")) valscope=0;
  -                if(query34.equalsIgnoreCase("mod")) valscope=1;
  -                if(query34.equalsIgnoreCase("cre")) valscope=2;
  -            if(query344.equalsIgnoreCase("week")){
  -                query3=scopedate[valscope]+"["+NumberPadding.pad(aweek)+" TO 
"+NumberPadding.pad(now)+"]";
  -            } else if(query344.equalsIgnoreCase("month")){
  -                query3=scopedate[valscope]+"["+NumberPadding.pad(amonth)+" 
TO "+NumberPadding.pad(now)+"]";
  -            } else if(query344.equalsIgnoreCase("months")){
  -                query3=scopedate[valscope]+"["+NumberPadding.pad(amonths)+" 
TO "+NumberPadding.pad(now)+"]";
  +        engineMap.put("query31", query31);
  +        if (!query31.equalsIgnoreCase("")) {
  +
  +            String subcondition = 
processingContext.getParameter("condition31");
  +            if (subcondition != null && 
subcondition.equalsIgnoreCase("creator")) {
  +                query3 = "jahia.metadata_creator:" + query31;
  +            } else if (subcondition != null && 
subcondition.equalsIgnoreCase("contributor")) {
  +                query3 = "jahia.metadata_lastcontributor:" + query31;
  +            } else if (subcondition != null && 
subcondition.equalsIgnoreCase("all")) {
  +                query3 = "(jahia.metadata_creator:" + query31 + " OR 
jahia.metadata_lastcontributor:" + query31 + ")";
  +            }
  +        }
  +        engineMap.put("query32", query32);
  +        if (!query32.equalsIgnoreCase("")) {
  +
  +            query3 = "jahia.metadata_keywords:" + query32;
  +        }
  +        if (!query33.equalsIgnoreCase("")) {
  +            engineMap.put("query33", query33);
  +            query3 = "jahia.page_id:" + NumberPadding.pad(query33);
  +            isPID=true;
  +        }
  +        engineMap.put("condition34", query34);
  +            engineMap.put("condition344", query344);
  +        if (!query344.equalsIgnoreCase("-")) {
  +
  +            int valscope = 0;
  +            if (query34.equalsIgnoreCase("pub")) valscope = 0;
  +            if (query34.equalsIgnoreCase("mod")) valscope = 1;
  +            if (query34.equalsIgnoreCase("cre")) valscope = 2;
  +            if (query344.equalsIgnoreCase("week")) {
  +                query3 = scopedate[valscope] + "[" + 
NumberPadding.pad(aweek) + " TO " + NumberPadding.pad(now) + "]";
  +            } else if (query344.equalsIgnoreCase("month")) {
  +                query3 = scopedate[valscope] + "[" + 
NumberPadding.pad(amonth) + " TO " + NumberPadding.pad(now) + "]";
  +            } else if (query344.equalsIgnoreCase("months")) {
  +                query3 = scopedate[valscope] + "[" + 
NumberPadding.pad(amonths) + " TO " + NumberPadding.pad(now) + "]";
               }
   
           }
           //query4s
  -        if(!query41.equalsIgnoreCase("")) {
  -            engineMap.put("query41",query41);
  -            String subcondition=(String) 
processingContext.getParameter("condition41");
  -            if(subcondition!=null && 
subcondition.equalsIgnoreCase("creator")){
  -               query4="jahia.metadata_creator:"+query41;
  -            } else if(subcondition!=null && 
subcondition.equalsIgnoreCase("contributor")){
  -               query4="jahia.metadata_lastcontributor:"+query41;
  -            } else if(subcondition!=null && 
subcondition.equalsIgnoreCase("all")){
  -               query4="(jahia.metadata_creator:"+query41+" OR 
jahia.metadata_lastcontributor:"+query41+")";
  -            }
  -        }
  -        if(!query42.equalsIgnoreCase("")) {
  -            engineMap.put("query42",query42);
  -            query4="jahia.metadata_keywords:"+query42;
  -        }
  -        if(!query43.equalsIgnoreCase("")) {
  -            engineMap.put("query43",query43);
  -            query4="jahia.page_id:"+query43;
  -        }
  -        if(!query444.equalsIgnoreCase("-")) {
  -            engineMap.put("condition44",query44);
  -            engineMap.put("condition444",query444);
  -            int valscope=0;
  -            if(query44.equalsIgnoreCase("pub")) valscope=0;
  -                if(query44.equalsIgnoreCase("mod")) valscope=1;
  -                if(query44.equalsIgnoreCase("cre")) valscope=2;
  -            if(query444.equalsIgnoreCase("week")){
  -                query4=scopedate[valscope]+"["+NumberPadding.pad(aweek)+" TO 
"+NumberPadding.pad(now)+"]";
  -            } else if(query444.equalsIgnoreCase("month")){
  -                query4=scopedate[valscope]+"["+NumberPadding.pad(amonth)+" 
TO "+NumberPadding.pad(now)+"]";
  -            } else if(query444.equalsIgnoreCase("months")){
  -                query4=scopedate[valscope]+"["+NumberPadding.pad(amonths)+" 
TO "+NumberPadding.pad(now)+"]";
  +        engineMap.put("query41", query41);
  +        if (!query41.equalsIgnoreCase("")) {
  +
  +            String subcondition = 
processingContext.getParameter("condition41");
  +            if (subcondition != null && 
subcondition.equalsIgnoreCase("creator")) {
  +                query4 = "jahia.metadata_creator:" + query41;
  +            } else if (subcondition != null && 
subcondition.equalsIgnoreCase("contributor")) {
  +                query4 = "jahia.metadata_lastcontributor:" + query41;
  +            } else if (subcondition != null && 
subcondition.equalsIgnoreCase("all")) {
  +                query4 = "(jahia.metadata_creator:" + query41 + " OR 
jahia.metadata_lastcontributor:" + query41 + ")";
  +            }
  +        }
  +        engineMap.put("query42", query42);
  +        if (!query42.equalsIgnoreCase("")) {
  +
  +            query4 = "jahia.metadata_keywords:" + query42;
  +        }
  +         engineMap.put("query43", query43);
  +        if (!query43.equalsIgnoreCase("")) {
  +
  +            query4 = "jahia.page_id:" + NumberPadding.pad(query43);
  +            isPID=true;
  +        }
  +        engineMap.put("condition44", query44);
  +            engineMap.put("condition444", query444);
  +        if (!query444.equalsIgnoreCase("-")) {
  +
  +            int valscope = 0;
  +            if (query44.equalsIgnoreCase("pub")) valscope = 0;
  +            if (query44.equalsIgnoreCase("mod")) valscope = 1;
  +            if (query44.equalsIgnoreCase("cre")) valscope = 2;
  +            if (query444.equalsIgnoreCase("week")) {
  +                query4 = scopedate[valscope] + "[" + 
NumberPadding.pad(aweek) + " TO " + NumberPadding.pad(now) + "]";
  +            } else if (query444.equalsIgnoreCase("month")) {
  +                query4 = scopedate[valscope] + "[" + 
NumberPadding.pad(amonth) + " TO " + NumberPadding.pad(now) + "]";
  +            } else if (query444.equalsIgnoreCase("months")) {
  +                query4 = scopedate[valscope] + "[" + 
NumberPadding.pad(amonths) + " TO " + NumberPadding.pad(now) + "]";
               }
   
           }
   
  -
           //summary of alt queries
  -        logger.debug("query2:"+query2+" cond2:"+smode2);
  -        logger.debug("query3:"+query3+" cond3:"+smode3);
  -        logger.debug("query4:"+query4+" cond4:"+smode4);
  -
  -
  +        logger.debug("query2:" + query2 + " cond2:" + smode2);
  +        logger.debug("query3:" + query3 + " cond3:" + smode3);
  +        logger.debug("query4:" + query4 + " cond4:" + smode4);
   
           //domain scope
           String scope = (String) processingContext.getParameter("searchSite");
           if (scope == null && siteService.getNbSites() > 1) scope = "all"; 
//default
           else if (siteService.getNbSites() == 1) {
  -            int siteid= ((JahiaSite) 
siteService.getSites().nextElement()).getID();
  -            scope = String.valueOf(siteid) ;
  -            logger.debug("siteid:"+siteid);
  +            int siteid = ((JahiaSite) 
siteService.getSites().nextElement()).getID();
  +            scope = String.valueOf(siteid);
  +            logger.debug("siteid:" + siteid);
           }
   
           // transform main query(only if not empty)
  -        searchString=searchString.trim();
  -        if(smode.equalsIgnoreCase("exact") && 
!searchString.equalsIgnoreCase("")) {
  -            searchString="\""+searchString+"\"";
  +        searchString = searchString.trim();
  +        if (smode.equalsIgnoreCase("exact") && 
!searchString.equalsIgnoreCase("")) {
  +            searchString = "\"" + searchString + "\"";
           } else if (smode.equalsIgnoreCase("and") && 
!searchString.equalsIgnoreCase("")) {
  -            searchString=searchString.trim().replaceAll("\\s"," AND ");
  +            searchString = searchString.trim().replaceAll("\\s", " AND ");
           }
   
           //adding advanced queries
  -        String advplus=" OR ";
  -        if(query_concat_mode.equalsIgnoreCase("and")) advplus=" AND ";
  +        String advplus = " OR ";
  +        if (query_concat_mode.equalsIgnoreCase("and")) advplus = " AND ";
   
           // constructing final BIG LUCENE query
  -        String altqueries="";
  +        String altqueries = "";
   
  -        if(!query2.equalsIgnoreCase("")) 
altqueries=altqueries+advplus+query2;
  -        if(!query3.equalsIgnoreCase("")) 
altqueries=altqueries+advplus+query3;
  -        if(!query4.equalsIgnoreCase("")) 
altqueries=altqueries+advplus+query4;
  -
  -        if(!searchString.equalsIgnoreCase("") && 
!altqueries.equalsIgnoreCase("")) {
  -            searchString="("+searchString+")"+altqueries;
  -        } else if(searchString.equalsIgnoreCase("") && 
!altqueries.equalsIgnoreCase("")){
  -            searchString=altqueries.substring(altqueries.indexOf("AND ")+4);
  +        if (!query2.equalsIgnoreCase("")) altqueries = altqueries + advplus 
+ query2;
  +        if (!query3.equalsIgnoreCase("")) altqueries = altqueries + advplus 
+ query3;
  +        if (!query4.equalsIgnoreCase("")) altqueries = altqueries + advplus 
+ query4;
  +
  +        if (!searchString.equalsIgnoreCase("") && 
!altqueries.equalsIgnoreCase("")) {
  +            searchString = "(" + searchString + ")" + altqueries;
  +        } else if (searchString.equalsIgnoreCase("") && 
!altqueries.equalsIgnoreCase("")) {
  +            searchString = altqueries.substring(altqueries.indexOf("AND ") + 
4);
           }
           //summary
           logger.warn("[init parameters from request: "
                   + " searchSite:" + scope
                   + " ordered by:" + orderBy
  -                + "[-------  searchstring:"+searchString+" 
---------------]");
  +                + "[-------  searchstring:" + searchString + " 
---------------]");
   
           //store all the params for subsequent requests
           engineMap.put("searchString", searchString);    //main query
  -        engineMap.put("query1",query1);                 //main query 
copy(used to display)
  +        engineMap.put("query1", query1);                 //main query 
copy(used to display)
           engineMap.put("smode", smode);                  //string addition 
mode
           engineMap.put("concat", query_concat_mode);     //mode of add 
criteria
           engineMap.put("orderby", orderBy);              //sort order
           engineMap.put("searchSite", scope);             //virtual site scope
   
  -
           //previous results (maybe we can store the history of results?)
           JahiaSearchResult searchResults = (JahiaSearchResult) 
engineMap.get("searchResults");
   
           // we search only if we have smtg to search
           if (!"".equals(searchString)) {
               JahiaSearchResultBuilder resultBuilder = new 
ContainerSearchResultBuilderImpl();
  -            searchString=searchString.trim();
  +            searchString = searchString.trim();
               // unused
  +            /*
               if (searchString.startsWith("page:")) {
                   logger.debug("searching for page:"+searchString);
                   int pageId = 
Integer.parseInt(searchString.substring(5,searchString.indexOf(" ")));
  @@ -503,48 +521,84 @@
                       }
                   }
               } else {
  -                ArrayList languageCodes = new ArrayList();
  -                String[] languageCodesVal = 
processingContext.getParameterValues("searchlang");
  -                if (languageCodesVal != null) {
  -                    if (!JahiaTools.inValues(Search_Engine.SEARCH_ALL_LANG, 
languageCodesVal)) {
  -                        for (int i = 0; i < languageCodesVal.length; i++) {
  -                            languageCodes.add(languageCodesVal[i]);
  -                        }
  +
  +            */
  +            //languages
  +            ArrayList languageCodes = new ArrayList();
  +            String[] languageCodesVal = 
processingContext.getParameterValues("searchlang");
  +
  +            // languages available on current site
  +            Vector langs = 
processingContext.getSite().getLanguageSettings(true);
  +            logger.debug("sitelangages number:" + langs.size());
  +            for (Iterator i = langs.iterator(); i.hasNext();) {
  +                logger.debug("" + ((SiteLanguageSettings) 
i.next()).getCode());
  +            }
  +            /*
  +            // useless for now
  +            if (languageCodesVal != null) {
  +                logger.debug("found searchlang parameter:" + 
languageCodesVal);
  +                if (!JahiaTools.inValues(Search_Engine.SEARCH_ALL_LANG, 
languageCodesVal)) {
  +                    for (int i = 0; i < languageCodesVal.length; i++) {
  +                        languageCodes.add(languageCodesVal[i]);
                       }
  -                } else {
  -                    
languageCodes.add(processingContext.getLocale().toString());
                   }
  -                logger.debug("searching in what languages:" + languageCodes);
  -                engineMap.put("searchLanguageCodes", languageCodes);
  +            }
  +            */
  +            //adding the lang of the request if needed
  +            String currlangcode = 
processingContext.getCurrentLocale().toString();
  +            if (currlangcode != null && 
!languageCodes.contains(currlangcode)) languageCodes.add(currlangcode);
  +
  +            JahiaSite site;
  +            if (scope.equalsIgnoreCase("all")) {
  +                //multidomain search
  +                List handlers = new ArrayList(50);
  +
  +
  +                while (sites.hasMoreElements()) {
  +                    site = (JahiaSite) sites.nextElement();
  +                    if(isPID){
  +
  +                    // to add all languages available in site in the case of 
pid present in queries
  +                    Vector v = site.getLanguageSettings(true);
  +                    for (Iterator i = v.iterator(); i.hasNext();) {
  +                        Object o = i.next();
  +                        String langCode = ((SiteLanguageSettings) 
o).getCode();
  +                        if (langCode != null && 
!languageCodes.contains(langCode)) languageCodes.add(langCode);
   
  -                //String theScreen = (String)engineMap.get("screen");
  +                    }
  +                    }
   
  -                if (scope.equalsIgnoreCase("all")) {
  -                    //multidomain search
  -                    List handlers = new ArrayList(50);
  -
  -                    while (sites.hasMoreElements()) {
  -                        SearchHandler h = 
searchService.getSearchHandler(((JahiaSite) sites.nextElement()).getID());
  -                        //defensive code
  -                        if(h!= null){
  +                    SearchHandler h = 
searchService.getSearchHandler(site.getID());
  +                    //defensive code
  +                    if (h != null) {
                           handlers.add(h.getName());
  -                        }
                       }
  -                    String[] strings = (String[]) handlers.toArray(new 
String[handlers.size()]);
  -                    logger.debug(strings);
  +                }
  +
  +                String[] strings = (String[]) handlers.toArray(new 
String[handlers.size()]);
  +                logger.debug(strings);
  +
  +                searchResults = searchService.search(strings, searchString, 
processingContext, languageCodes, resultBuilder);
  +            } else {
  +                //just one domain search
  +
  +                // we get the languagecode from this site
  +                //todo these could be set in user settings?
  +                site = 
siteService.getSite(Integer.parseInt(processingContext.getParameter("searchSite")));
  +                // to add all languages available in this site
  +                Vector v = site.getLanguageSettings(true);
  +                for (Iterator i = v.iterator(); i.hasNext();) {
  +                    Object o = i.next();
  +                    String langCode = ((SiteLanguageSettings) o).getCode();
  +                    if (langCode != null && 
!languageCodes.contains(langCode)) languageCodes.add(langCode);
   
  -                    //recreate enum
  -                    /*
  -                    sites = siteService.getSites();
  -                    engineMap.put("sites", sites);
  -                    */
  -                    searchResults = searchService.search(strings, 
searchString, processingContext, languageCodes, resultBuilder);
  -                } else {
  -                    //just one domain search
  -                    searchResults = 
searchService.search(Integer.parseInt(processingContext.getParameter("searchSite")),
  -                            searchString, processingContext, languageCodes, 
resultBuilder);
                   }
  +                searchResults = 
searchService.search(Integer.parseInt(processingContext.getParameter("searchSite")),
  +                        searchString, processingContext, languageCodes, 
resultBuilder);
               }
  +            logger.debug("searching in what languages:" + languageCodes);
  +            engineMap.put("searchLanguageCodes", languageCodes);
  +            //}
               logger.debug("# of hits in raw searchresults:" + 
searchResults.getHitCount() + " " + searchResults);
   
               // subset of results
  @@ -594,17 +648,17 @@
                                   int pageID = contentContainer.getPageID();
                                   //used to try to create an url
                                   int siteID = contentContainer.getSiteID();
  -                                int 
type=JahiaSearchHitInterface.UNDEFINED_TYPE;
  +                                int type = 
JahiaSearchHitInterface.UNDEFINED_TYPE;
                                   logger.debug("found compatible?" + key);
                                   String t = key;
  -                                List l =  
getChildFieldsOnly(contentContainer.getChilds(null, lr, null));
  +                                List l = 
getChildFieldsOnly(contentContainer.getChilds(null, lr, null));
   
                                   for (Iterator iterator1 = l.iterator(); 
iterator1.hasNext();) {
                                       ContentField contentField = 
(ContentField) iterator1.next();
                                       String value = 
contentField.getValue(processingContext, lr);
                                       if (value != null && 
!value.trim().equals("") && !value.equals("<empty>")) {
                                           t = value;
  -                                        if(value.length()>12) 
t=value.substring(0,12)+" (...)";
  +                                        if (value.length() > 12) t = 
value.substring(0, 12) + " (...)";
                                           logger.debug("tkey=" + t);
                                           break;
                                       }
  @@ -619,8 +673,8 @@
                                               t = value;
                                               pageID = 
contentField.getPageID();
                                               siteID = 
contentField.getSiteID();
  -                                            
type=JahiaSearchHitInterface.FIELD_TYPE;
  -                                            logger.debug("smalltext:" + t + 
" pageID" + pageID+"on site"+siteID);
  +                                            type = 
JahiaSearchHitInterface.FIELD_TYPE;
  +                                            logger.debug("smalltext:" + t + 
" pageID" + pageID + "on site" + siteID);
                                               break;
                                           }
                                       }
  @@ -631,16 +685,24 @@
                                       ContentField contentField = 
(ContentField) iterator1.next();
                                       if (contentField instanceof 
ContentPageField) {
                                           ContentPage contentPage = 
((ContentPageField) contentField).getContentPage(lr);
  -                                        t = contentPage.getTitle(lr);
  +
  +                                        //try to obtain a title
  +                                        t = 
contentPage.getTitle(EntryLoadRequest.STAGED);
  +                                        // check for some titl in some 
languages
  +                                        if (t == null) for (Iterator it = 
languageCodes.iterator(); it.hasNext();) {
  +                                            t = (String) 
contentPage.getTitles(true).get((String) it.next());
  +                                            if (t != null) break;
  +                                        }
  +
                                           pageID = contentPage.getID();
                                           siteID = contentPage.getSiteID();
  -                                        
type=JahiaSearchHitInterface.PAGE_TYPE;
  -                                        logger.debug("page:" + t + " pageID" 
+ pageID+ "on site"+siteID);
  +                                        type = 
JahiaSearchHitInterface.PAGE_TYPE;
  +                                        logger.debug("page:" + t + " pageID" 
+ pageID + "on site" + siteID);
                                           break;
                                       }
                                   }
   
  -                                if (jahiaSearchHit.getParsedObject()!= null) 
{
  +                                if (jahiaSearchHit.getParsedObject() != 
null) {
                                       //logger.debug("fields of searchhit" + 
jahiaSearchHit.getParsedObject().getFields());
                                   }
   
  @@ -656,19 +718,19 @@
                                       
hit.setPage(contentContainer.getPage().getPage(processingContext));
                                       hit.setPageId(pageID);
                                       //the independant url from site
  -                                    String hiturl= 
Jahia.getContextPath()+Jahia.getServletPath()+"/pid/"+pageID;
  -                                    //logger.debug("URL:---->"+hiturl);
  +                                    String hiturl = Jahia.getContextPath() + 
Jahia.getServletPath() + "/pid/" + pageID;
  +                                    logger.debug("URL:---->" + hiturl);
                                       
//hit.setURL(processingContext.composePageUrl(pageID));
                                       hit.setURL(hiturl);
                                       hit.setTeaser(t);
                                       hit.setScore(score);
                                       List metadata = 
contentContainer.getMetadatas();
  -                                    logger.debug("metadata : "+metadata);
  +                                    logger.debug("metadata : " + metadata);
                                       Hashtable fields = 
hit.getParsedObject().getFields();
  -                                    
fillSearchHitWithMetadataValues(fields,contentContainer,"creator",new 
String[]{""},processingContext);
  -                                    
fillSearchHitWithMetadataValues(fields,contentContainer,"lastContributor",new 
String[]{""},processingContext);
  -                                    
fillSearchHitWithMetadataValues(fields,contentContainer,"creationDate",new 
String[]{""},processingContext);
  -                                    
fillSearchHitWithMetadataValues(fields,contentContainer,"lastPublishingDate",new
 String[]{""},processingContext);
  +                                    fillSearchHitWithMetadataValues(fields, 
contentContainer, "creator", new String[]{""}, processingContext);
  +                                    fillSearchHitWithMetadataValues(fields, 
contentContainer, "lastContributor", new String[]{""}, processingContext);
  +                                    fillSearchHitWithMetadataValues(fields, 
contentContainer, "creationDate", new String[]{""}, processingContext);
  +                                    fillSearchHitWithMetadataValues(fields, 
contentContainer, "lastPublishingDate", new String[]{""}, processingContext);
   
                                       while (current != null) {
                                           current = current.getParent(null);
  @@ -693,54 +755,23 @@
                   }
               }
   
  -            //test for metadatas values - joe
  -            /*
  -            for (Iterator iterator = results.values().iterator(); 
iterator.hasNext();) {
  -                JahiaSearchHit hit = (JahiaSearchHit) iterator.next();
  -                ParsedObject po = hit.getParsedObject();
  -                Hashtable t = po.getFields();
  -                //name of metadatas
  -                for (Iterator it = t.keySet().iterator(); it.hasNext();) {
  -                    String name = (String) it.next();
  -                    String[] val = po.getValues(name);
  -                    String values = "";
  -                    logger.debug("size:" + val.length);
  -                    for (int v = 0; v < val.length; v++) {
  -                        values += val[v] + " ";
  -                    }
  -                    logger.debug(name + ":" + values);
  -                }
  -
  -                //other loops
  -
  -                ContentObject o = 
ContentContainer.getContainer(Integer.parseInt(hit.getId()));
  -                ArrayList a = o.getMetadatas();
  -                for (Iterator ia = a.iterator(); ia.hasNext();) {
  -                    JahiaObject jo = (JahiaObject) ia.next();
  -                    ContentField cf = (ContentField) jo;
  -
  -                    logger.debug("LOOPING " + 
cf.getDisplayName(processingContext) + ":" + cf.getValue(processingContext));
  -                }
  -
   
  -            }//end big loop.
  -             */
               //sorting
  -            orderBy(orderBy, engineMap, myResults, results,true);
  +            orderBy(orderBy, engineMap, myResults, results, true);
   
           }
       }
   
  -    private List getChildFieldsOnly(List childs){
  +    private List getChildFieldsOnly(List childs) {
           List results = new ArrayList();
  -        if ( childs == null || childs.isEmpty() ){
  +        if (childs == null || childs.isEmpty()) {
               return results;
           }
           Iterator iterator = childs.iterator();
           ContentObject contentObject = null;
  -        while (iterator.hasNext()){
  -            contentObject = (ContentObject)iterator.next();
  -            if ( contentObject instanceof ContentField ){
  +        while (iterator.hasNext()) {
  +            contentObject = (ContentObject) iterator.next();
  +            if (contentObject instanceof ContentField) {
                   results.add(contentObject);
               }
           }
  @@ -755,18 +786,18 @@
        * @param context
        * @throws JahiaException
        */
  -    private void fillSearchHitWithMetadataValues(   Hashtable fields,
  -                                                    ContentContainer 
container,
  -                                                    String metadataName,
  -                                                    String[] defaultValues,
  -                                                    ProcessingContext 
context )
  -    throws JahiaException {
  -        if ( container.getMetadata(metadataName) != null ){
  +    private void fillSearchHitWithMetadataValues(Hashtable fields,
  +                                                 ContentContainer container,
  +                                                 String metadataName,
  +                                                 String[] defaultValues,
  +                                                 ProcessingContext context)
  +            throws JahiaException {
  +        if (container.getMetadata(metadataName) != null) {
               String value = 
container.getMetadata(metadataName).getValue(context);
  -            if ( value == null ){
  -                fields.put(metadataName.toLowerCase(),defaultValues);
  +            if (value == null) {
  +                fields.put(metadataName.toLowerCase(), defaultValues);
               } else {
  -                fields.put(metadataName.toLowerCase(),new String[]{value});
  +                fields.put(metadataName.toLowerCase(), new String[]{value});
               }
           }
       }
  @@ -777,34 +808,34 @@
        * @param myResults output results
        * @param results   input results
        */
  -    private void orderBy(String key, HashMap engineMap, JahiaSearchResult 
myResults, Map results,boolean order) {
  +    private void orderBy(String key, HashMap engineMap, JahiaSearchResult 
myResults, Map results, boolean order) {
   
           logger.debug("sort searching by" + key);
   
           if (key.equalsIgnoreCase("id")) {
               //by id
  -            }else if(key.equalsIgnoreCase("creator")) {
  +        } else if (key.equalsIgnoreCase("creator")) {
               //by creator
  -            orderBy("creator",engineMap, order);
  -            }else if(key.equalsIgnoreCase("lastpublishingdate")) {
  +            orderBy("creator", engineMap, order);
  +        } else if (key.equalsIgnoreCase("lastpublishingdate")) {
               //by last pub date
  -            orderBy("lastpublishingdate",engineMap, order);
  -            }else if(key.equalsIgnoreCase("creationdate")) {
  +            orderBy("lastpublishingdate", engineMap, order);
  +        } else if (key.equalsIgnoreCase("creationdate")) {
               //by creationdate
  -            orderBy("creationdate",engineMap, order);
  -            }else if(key.equalsIgnoreCase("lastmodificationdate")) {
  +            orderBy("creationdate", engineMap, order);
  +        } else if (key.equalsIgnoreCase("lastmodificationdate")) {
               //by modif date
  -            orderBy("lastmodificationdate",engineMap, order);
  -            }else if(key.equalsIgnoreCase("lastcontributor")) {
  +            orderBy("lastmodificationdate", engineMap, order);
  +        } else if (key.equalsIgnoreCase("lastcontributor")) {
               //by contributor
  -            orderBy("lastcontributor",engineMap, order);
  -        }else {
  +            orderBy("lastcontributor", engineMap, order);
  +        } else {
               // by score (default comparable interface)
               for (Iterator iterator = new 
TreeSet(results.values()).iterator(); iterator.hasNext();) {
                   JahiaSearchHit jahiaSearchHit = (JahiaSearchHit) 
iterator.next();
                   myResults.addHit(jahiaSearchHit);
               }
  -           engineMap.put("searchResults", myResults);
  +            engineMap.put("searchResults", myResults);
           }
   
   
  @@ -837,27 +868,27 @@
                   int sc1 = ((JahiaSearchHit) o1).getScore();
                   String metadata2 = ((JahiaSearchHit) 
o2).getParsedObject().getValue(key);
                   int sc2 = ((JahiaSearchHit) o2).getScore();
  -                int o=1;
  -                if(!order) o=-1;
  +                int o = 1;
  +                if (!order) o = -1;
                   // possibly metadata could be null
  -                if (metadata1 == null && metadata2 != null) return (-1*o);
  -                if (metadata2 == null && metadata1 != null) return (1*o);
  -                if(metadata2 == null && metadata1 == null) return 0;
  +                if (metadata1 == null && metadata2 != null) return (-1 * o);
  +                if (metadata2 == null && metadata1 != null) return (1 * o);
  +                if (metadata2 == null && metadata1 == null) return 0;
                   //comparaison
                   if (metadata1.equalsIgnoreCase(metadata2)) {
                       //equality case (use the score)
  -                    if (sc1 <= sc2) return (1*o);// second object is less 
than 1st
  +                    if (sc1 <= sc2) return (1 * o);// second object is less 
than 1st
                       else
  -                        return (-1*o); //opposite
  +                        return (-1 * o); //opposite
                   }
  -                if (metadata1.compareTo(metadata2) < 0) return (1*o);// 
second object is less than 1st
  +                if (metadata1.compareTo(metadata2) < 0) return (1 * o);// 
second object is less than 1st
                   else
  -                    return (-1*o);  //opposite
  +                    return (-1 * o);  //opposite
   
   
               }
           };
  -        if (myResults.results() != null && myResults.results().size()>1) {
  +        if (myResults.results() != null && myResults.results().size() > 1) {
               Collections.sort(myResults.results(), comp);
               engineMap.put("searchResults", myResults);
           } else {
  @@ -868,6 +899,11 @@
   }
   /**
    * $Log: ManageContentPicker.java,v $
  + * Revision 1.56  2005/12/02 17:58:30  dpillot
  + * misc bugs:fix pid bug, queries persistence bug
  + * added ability to querying number as jahia_pid
  + * added languages cross-sites searching support
  + *
    * Revision 1.55  2005/12/01 11:01:42  dpillot
    * avoid npe from searchservice
    *
  @@ -883,59 +919,5 @@
    * Revision 1.51  2005/11/22 15:30:28  tdraier
    * filter validated results, remove parents
    *
  - * Revision 1.50  2005/11/14 16:06:12  tdraier
  - * added workflow job
  - * fixed acl import/export, try to map on local users/groups
  - *
  - * Revision 1.49  2005/11/09 17:30:27  tdraier
  - * add job description
  - *
  - * Revision 1.48  2005/11/09 15:30:52  dpillot
  - * order enhancement
  - *
  - * Revision 1.47  2005/11/09 14:12:08  tdraier
  - * contentpick as a background job, simplified api
  - *
  - * Revision 1.46  2005/11/09 12:40:51  dpillot
  - * better visualization
  - *
  - * Revision 1.45  2005/11/04 16:45:58  dpillot
  - * fix link on page url
  - *
  - * Revision 1.44  2005/11/03 13:22:22  knguyen
  - * - synchr
  - *
  - * Revision 1.43  2005/10/28 10:56:17  tdraier
  - * avoid content pick loops
  - *
  - * Revision 1.42  2005/10/20 16:55:54  dpillot
  - * internationalization & bug NFE fix
  - *
  - * Revision 1.40  2005/10/19 14:24:53  dpillot
  - * content pick final enhancements
  - *
  - * Revision 1.39  2005/10/19 14:02:10  tdraier
  - * check rigths
  - *
  - * Revision 1.38  2005/10/12 10:41:22  dpillot
  - * npe bugfix  & avd queries enhacement
  - *
  - * Revision 1.37  2005/10/11 15:18:16  dpillot
  - * added support for limited advanced queries
  - *
  - * Revision 1.36  2005/10/11 14:21:07  knguyen
  - * - take care to retrieve ContentField child only  ( not 
ContentContainerList child ) from ContentContainer.getChilds(...)
  - *
  - * Revision 1.35  2005/10/10 15:34:00  tdraier
  - * fixed empty teaser
  - *
  - * Revision 1.34  2005/10/10 08:42:28  knguyen
  - * - check for npe & metadata case sensitive
  - *
  - * Revision 1.33  2005/10/07 12:45:28  knguyen
  - * - synchro
  - *
  - * Revision 1.32  2005/10/06 15:50:35  tdraier
  - * display metadatas in content pick
    *
    */
  \ No newline at end of file
  

Reply via email to