You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lenya.apache.org by an...@apache.org on 2008/03/26 00:06:35 UTC

svn commit: r641070 - in /lenya/trunk/src/modules/lucene/java/src/org/apache/lenya/modules/lucene: ImageQueryStringModule.java QueryStringModule.java

Author: andreas
Date: Tue Mar 25 16:06:32 2008
New Revision: 641070

URL: http://svn.apache.org/viewvc?rev=641070&view=rev
Log:
Show all images as search results if search term is empty. Might be used for 'insert image' usecase.

Modified:
    lenya/trunk/src/modules/lucene/java/src/org/apache/lenya/modules/lucene/ImageQueryStringModule.java
    lenya/trunk/src/modules/lucene/java/src/org/apache/lenya/modules/lucene/QueryStringModule.java

Modified: lenya/trunk/src/modules/lucene/java/src/org/apache/lenya/modules/lucene/ImageQueryStringModule.java
URL: http://svn.apache.org/viewvc/lenya/trunk/src/modules/lucene/java/src/org/apache/lenya/modules/lucene/ImageQueryStringModule.java?rev=641070&r1=641069&r2=641070&view=diff
==============================================================================
--- lenya/trunk/src/modules/lucene/java/src/org/apache/lenya/modules/lucene/ImageQueryStringModule.java (original)
+++ lenya/trunk/src/modules/lucene/java/src/org/apache/lenya/modules/lucene/ImageQueryStringModule.java Tue Mar 25 16:06:32 2008
@@ -16,6 +16,10 @@
  */
 package org.apache.lenya.modules.lucene;
 
+import java.util.Map;
+
+import org.apache.cocoon.environment.ObjectModelHelper;
+import org.apache.cocoon.environment.Request;
 import org.apache.lenya.cms.metadata.MetaDataRegistry;
 import org.apache.lucene.index.Term;
 import org.apache.lucene.search.BooleanQuery;
@@ -23,13 +27,31 @@
 
 /**
  * Same as {@link QueryStringModule}, but searches only for images.
+ * If the <em>queryString</em> request parameter is empty, all images are shown.
  */
 public class ImageQueryStringModule extends QueryStringModule {
     
     protected static final String DOCUMENT_METADATA_NAMESPACE = "http://apache.org/lenya/metadata/document/1.0";
 
+    protected String getQueryString(Map objectModel) {
+        Request request = ObjectModelHelper.getRequest(objectModel);
+        String searchTerm = request.getParameter(PARAM_QUERY_STRING);
+        
+        if (searchTerm != null && searchTerm.indexOf(' ') > -1) {
+            searchTerm = "(" + searchTerm + ")";
+        }
+
+        BooleanQuery query = getQuery(searchTerm);
+        return query.toString();
+    }
+
     protected BooleanQuery getQuery(String searchTerm) {
-        BooleanQuery query = super.getQuery(searchTerm);
+        
+        BooleanQuery query = new BooleanQuery();
+        
+        if (!isEmpty(searchTerm)) {
+            query.add(super.getQuery(searchTerm), true, false);
+        }
         
         MetaDataRegistry registry = null;
         MetaDataFieldRegistry fieldRegistry = null;

Modified: lenya/trunk/src/modules/lucene/java/src/org/apache/lenya/modules/lucene/QueryStringModule.java
URL: http://svn.apache.org/viewvc/lenya/trunk/src/modules/lucene/java/src/org/apache/lenya/modules/lucene/QueryStringModule.java?rev=641070&r1=641069&r2=641070&view=diff
==============================================================================
--- lenya/trunk/src/modules/lucene/java/src/org/apache/lenya/modules/lucene/QueryStringModule.java (original)
+++ lenya/trunk/src/modules/lucene/java/src/org/apache/lenya/modules/lucene/QueryStringModule.java Tue Mar 25 16:06:32 2008
@@ -65,7 +65,7 @@
         Request request = ObjectModelHelper.getRequest(objectModel);
         String searchTerm = request.getParameter(PARAM_QUERY_STRING);
         
-        if (searchTerm == null || searchTerm.trim().equals("")) {
+        if (isEmpty(searchTerm)) {
             return "";
         }
         
@@ -75,6 +75,10 @@
 
         BooleanQuery query = getQuery(searchTerm);
         return query.toString();
+    }
+
+    protected boolean isEmpty(String searchTerm) {
+        return searchTerm == null || searchTerm.trim().equals("");
     }
 
     protected BooleanQuery getQuery(String searchTerm) {



---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@lenya.apache.org
For additional commands, e-mail: commits-help@lenya.apache.org