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;
+ }
+
}