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(...)
*