knguyen     2005/05/31 15:32:29 CEST

  Modified files:
    core/src/java/org/jahia/services/search ContainerSearcher.java 
  Log:
  - extending container search to allow passing lucene filters
  
  Revision  Changes    Path
  1.6       +83 -24    
jahia/core/src/java/org/jahia/services/search/ContainerSearcher.java
http://jahia.mine.nu:8080/cgi-bin/cvsweb.cgi/jahia/core/src/java/org/jahia/services/search/ContainerSearcher.java.diff?r1=1.5&r2=1.6&f=h
  
  
  
  Index: ContainerSearcher.java
  ===================================================================
  RCS file: 
/home/cvs/repository/jahia/core/src/java/org/jahia/services/search/ContainerSearcher.java,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- ContainerSearcher.java    8 Apr 2005 12:52:19 -0000       1.5
  +++ ContainerSearcher.java    31 May 2005 13:32:28 -0000      1.6
  @@ -73,16 +73,11 @@
        * No right check on container, only on field.
        *
        * @param ctnListID the container list id.
  -     * @param ctnListID
        * @param query       a valid Lucene search query
        * @param loadRequest
        */
       public ContainerSearcher (int ctnListID, String query, EntryLoadRequest 
loadRequest) {
  -        this.ctnListID = ctnListID;
  -        if (loadRequest != null) {
  -            this.loadRequest = loadRequest;
  -        }
  -        this.query = query;
  +        this(ctnListID, 0, query, loadRequest);
       }
   
       /**
  @@ -98,12 +93,12 @@
        */
       public ContainerSearcher (int ctnListID, int containerLevel, String 
query,
                                 EntryLoadRequest loadRequest) {
  -        this.ctnListID = ctnListID;
  -        this.containerLevel = containerLevel;
  +        this.setCtnListID(ctnListID);
  +        this.setContainerLevel(containerLevel);
           if (loadRequest != null) {
  -            this.loadRequest = loadRequest;
  +            this.setLoadRequest(loadRequest);
           }
  -        this.query = query;
  +        this.setQuery(query);
       }
   
       /**
  @@ -123,12 +118,12 @@
               int clistID = ServicesRegistry.getInstance 
().getJahiaContainersService ().
                       getContainerListID (containerListName, params.getPage 
().getID ());
               if (clistID != -1) {
  -                this.ctnListID = clistID;
  +                this.setCtnListID(clistID);
               }
           }
  -        this.query = query;
  +        this.setQuery(query);
           if (loadRequest != null) {
  -            this.loadRequest = loadRequest;
  +            this.setLoadRequest(loadRequest);
           }
       }
   
  @@ -149,15 +144,14 @@
        */
       public ContainerSearcher (int siteId, String containerDefinitionName,
                                 String query, EntryLoadRequest loadRequest) {
  -        this.siteId = siteId;
  -        this.containerDefinitionName = containerDefinitionName;
  -        this.siteModeSearching = true;
  -
  +        this.setSiteId(siteId);
  +        this.setContainerDefinitionName(containerDefinitionName);
  +        this.setSiteModeSearching(true);
   
           if (loadRequest != null) {
  -            this.loadRequest = loadRequest;
  +            this.setLoadRequest(loadRequest);
           }
  -        this.query = query;
  +        this.setQuery(query);
   
           if ( siteId == -1 ){
               try {
  @@ -180,16 +174,16 @@
       public ContainerSearcher (Integer[] siteIds, String 
containerDefinitionName,
                                 String query, EntryLoadRequest loadRequest) {
           if ( siteIds != null ){
  -            this.siteIds = siteIds;
  +            this.setSiteIds(siteIds);
           }
   
  -        this.containerDefinitionName = containerDefinitionName;
  -        this.siteModeSearching = true;
  +        this.setContainerDefinitionName(containerDefinitionName);
  +        this.setSiteModeSearching(true);
   
           if (loadRequest != null) {
  -            this.loadRequest = loadRequest;
  +            this.setLoadRequest(loadRequest);
           }
  -        this.query = query;
  +        this.setQuery(query);
       }
   
       public JahiaSearchResultBuilder getSearchResultBuilder() {
  @@ -460,4 +454,69 @@
   
           return result;
       }
  +
  +    /**
  +     * May be overwrited by sub classes
  +     *
  +     * @param query
  +     * @param searchHandlers
  +     * @param jParams
  +     * @return
  +     * @throws JahiaException
  +     */
  +    protected SearchResult doSearch(String query, String[] searchHandlers, 
ParamBean jParams)
  +            throws JahiaException {
  +        ServicesRegistry sReg = ServicesRegistry.getInstance();
  +        return sReg.getJahiaSearchService()
  +                   .search(query,searchHandlers,jParams);
  +    }
  +    
  +    public EntryLoadRequest getLoadRequest() {
  +        return loadRequest;
  +    }
  +
  +    public void setLoadRequest(EntryLoadRequest loadRequest) {
  +        this.loadRequest = loadRequest;
  +    }
  +
  +    public boolean isUpdated() {
  +        return updated;
  +    }
  +
  +    public void setUpdated(boolean updated) {
  +        this.updated = updated;
  +    }
  +
  +    public void setCtnListID(int ctnListID) {
  +        this.ctnListID = ctnListID;
  +    }
  +
  +    public void setSiteId(int siteId) {
  +        this.siteId = siteId;
  +    }
  +
  +    public void setContainerDefinitionName(String containerDefinitionName) {
  +        this.containerDefinitionName = containerDefinitionName;
  +    }
  +
  +    public void setSiteModeSearching(boolean siteModeSearching) {
  +        this.siteModeSearching = siteModeSearching;
  +    }
  +
  +    public void setLastSearchTime(long lastSearchTime) {
  +        this.lastSearchTime = lastSearchTime;
  +    }
  +
  +    public void setContainerLevel(int containerLevel) {
  +        this.containerLevel = containerLevel;
  +    }
  +
  +    public void setLanguageCodes(ArrayList languageCodes) {
  +        this.languageCodes = languageCodes;
  +    }
  +
  +    public void setQuery(String query) {
  +        this.query = query;
  +    }
  +
   }
  

Reply via email to