dpillot     2005/10/11 17:18:17 CEST

  Modified files:
    core/src/java/org/jahia/engines/importexport 
                                                 ManageContentPicker.java 
  Log:
  added support for limited advanced queries
  
  Revision  Changes    Path
  1.37      +34 -8     
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.36&r2=1.37&f=h
  
  
  
  Index: ManageContentPicker.java
  ===================================================================
  RCS file: 
/home/cvs/repository/jahia/core/src/java/org/jahia/engines/importexport/ManageContentPicker.java,v
  retrieving revision 1.36
  retrieving revision 1.37
  diff -u -r1.36 -r1.37
  --- ManageContentPicker.java  11 Oct 2005 14:21:07 -0000      1.36
  +++ ManageContentPicker.java  11 Oct 2005 15:18:16 -0000      1.37
  @@ -35,7 +35,7 @@
    *
    * @author Thomas Draier, joe Pillot
    * @author ${User}
  - * @version $Id: ManageContentPicker.java,v 1.36 2005/10/11 14:21:07 knguyen 
Exp $
  + * @version $Id: ManageContentPicker.java,v 1.37 2005/10/11 15:18:16 dpillot 
Exp $
    */
   public class ManageContentPicker {
       private static org.apache.log4j.Logger logger =
  @@ -108,7 +108,8 @@
                   && engineMap.get("searchResults") != null
                   ) {
               orderBy(o, engineMap);
  -            engineMap.remove("orderby");
  +            //engineMap.remove("orderby");
  +            engineMap.put("orderby",o);
               return true;
           }
   
  @@ -177,10 +178,25 @@
           //get all parameters
           // main query
           String searchString = (String) 
processingContext.getParameter("query");
  -        if (searchString == null) {
  -            searchString = "";
  +        String smode = (String) processingContext.getParameter("condition1");
  +        if (searchString == null || searchString.equalsIgnoreCase("")) {
  +
  +            engineMap.put("searchString", "");
  +            engineMap.put("smode","or");
  +            engineMap.put("concat","or");
  +            engineMap.put("orderby","score");
               logger.warn("searching string is empty");
  +            return;
           }
  +        // alt queries non-use for now
  +        String query_concat_mode=(String) 
processingContext.getParameter("concat");
  +        String query2=(String) processingContext.getParameter("query2");
  +        String smode2=(String) processingContext.getParameter("condition2");
  +        String query3=(String) processingContext.getParameter("query3");
  +        String smode3=(String) processingContext.getParameter("condition3");
  +        String query4=(String) processingContext.getParameter("query4");
  +        String smode4=(String) processingContext.getParameter("condition4");
  +
   
           //orderby parameter
           String orderBy = (String) processingContext.getParameter("orderby");
  @@ -194,6 +210,13 @@
           if (scope == null && siteService.getNbSites() > 1) scope = "all";
           else if (siteService.getNbSites() == 1) scope = "" + 
siteService.getSite(((JahiaSite) siteService.getSites().nextElement()).getID());
   
  +        // transform queries
  +        if(smode.equalsIgnoreCase("exact")) {
  +            searchString="\""+searchString+"\"";
  +        } else if (smode.equalsIgnoreCase("and")) {
  +            searchString=searchString.replaceAll("\\s"," AND ");
  +        }
  +
           //summary
           logger.warn("[init parameters from request: "
                   + " query:" + searchString
  @@ -204,12 +227,12 @@
   
           //store all the params for subsequent requests
           engineMap.put("searchString", searchString);
  +        engineMap.put("smode", smode);
  +        engineMap.put("concat", query_concat_mode);
           engineMap.put("orderby", orderBy);
           engineMap.put("searchSite", scope);
  -        if (searchString.equalsIgnoreCase("")) {
  -            logger.warn("query is empty: returning");
  -            return;
  -        }
  +
  +
   
           //previous results (maybe we can store the history of results?)
           JahiaSearchResult searchResults = (JahiaSearchResult) 
engineMap.get("searchResults");
  @@ -552,6 +575,9 @@
   }
   /**
    * $Log: ManageContentPicker.java,v $
  + * 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(...)
    *
  

Reply via email to