knguyen     2005/02/28 17:09:55 CET

  Modified files:
    core/src/java/org/jahia/engines/search Search_Engine.java 
  Log:
  - refactoring search service so that we can launch search on multiple 
searchable
  
  Revision  Changes    Path
  1.7       +14 -7     
jahia/core/src/java/org/jahia/engines/search/Search_Engine.java
http://jahia.mine.nu:8080/cgi-bin/cvsweb.cgi/jahia/core/src/java/org/jahia/engines/search/Search_Engine.java.diff?r1=1.6&r2=1.7&f=h
  
  
  
  Index: Search_Engine.java
  ===================================================================
  RCS file: 
/home/cvs/repository/jahia/core/src/java/org/jahia/engines/search/Search_Engine.java,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- Search_Engine.java        23 Feb 2005 17:12:39 -0000      1.6
  +++ Search_Engine.java        28 Feb 2005 16:09:55 -0000      1.7
  @@ -39,7 +39,6 @@
   import org.jahia.bin.Jahia;
   import org.springframework.beans.factory.BeanFactory;
   
  -
   /**
    * This engine is called when the user wants to do a search on the jahia 
site. It displays
    * sorted results using a JSP output which leaves every aspect of the search 
results design on
  @@ -227,7 +226,7 @@
           if ( searchViewHandler == null ){
               String searchHandlerName = 
jParams.getRequest().getParameter(SEARCH_HANDLER);
               try {
  -                searchViewHandler = this.getSearchHandler(searchHandlerName);
  +                searchViewHandler = 
this.getSearchViewHandler(searchHandlerName);
                   if ( searchViewHandler != null ){
                       searchViewHandler.setName(searchHandlerName);
                   }
  @@ -243,14 +242,21 @@
           String theScreen = (String)engineMap.get("screen");
           if ( searchViewHandler == null ){
               JahiaSearchResult searchResults = 
(JahiaSearchResult)engineMap.get("searchResults");
  +            boolean oneHitPerPage =
  +                    ("true".equals(jParams.getRequest()
  +                    
.getParameter(PageSearchResultBuilderImpl.ONE_HIT_BY_PAGE_PARAMETER_NAME)));
  +            PageSearchResultBuilderImpl resultBuilder =
  +                    new PageSearchResultBuilderImpl(oneHitPerPage);
  +
               if ( theScreen.equals("execute") || searchResults == null ){
                   searchResults = ServicesRegistry
                       .getInstance ().getJahiaSearchService ()
  -                    .doSearch (searchString, jParams, languageCodes);
  +                    .search (jParams.getSiteID(),
  +                                searchString, jParams, languageCodes, 
resultBuilder);
               }
  +
               if (searchResults == null) {
  -                searchResults = new JahiaSearchResult(new
  -                        JahiaSearchResultHandlerImpl());
  +                searchResults = new JahiaSearchResult(resultBuilder);
               }
               engineMap.put ("searchResults", searchResults);
           }
  @@ -325,7 +331,8 @@
        * @param name
        * @return
        */
  -    public SearchViewHandler getSearchHandler(String name) throws Exception {
  +    public SearchViewHandler getSearchViewHandler(String name) throws 
Exception {
  +
           if ( name == null ){
               return null;
           }
  @@ -334,7 +341,7 @@
           if ( settings == null ){
               return null;
           }
  -        String className = settings.getProperty(name);
  +        String className = 
settings.getProperty("org.jahia.engines.search.searchViewHandler." + name);
           if ( className != null ){
               Class c = Class.forName(className);
               return (SearchViewHandler)c.newInstance();
  

Reply via email to