Author: gmazza
Date: Tue Jul 30 21:11:57 2013
New Revision: 1508629

URL: http://svn.apache.org/r1508629
Log:
ROL-1965 and ROL-1966 Locale searching and fixing highlighting on Fauxcoly 
template.  Patches from Maciej Rumianowski.

Modified:
    
roller/trunk/app/src/main/java/org/apache/roller/weblogger/business/search/FieldConstants.java
    
roller/trunk/app/src/main/java/org/apache/roller/weblogger/business/search/operations/IndexOperation.java
    
roller/trunk/app/src/main/java/org/apache/roller/weblogger/business/search/operations/SearchOperation.java
    
roller/trunk/app/src/main/java/org/apache/roller/weblogger/ui/rendering/model/SearchResultsModel.java
    roller/trunk/app/src/main/webapp/themes/fauxcoly/search.vm
    roller/trunk/app/src/main/webapp/themes/fauxcoly/searchhi.js

Modified: 
roller/trunk/app/src/main/java/org/apache/roller/weblogger/business/search/FieldConstants.java
URL: 
http://svn.apache.org/viewvc/roller/trunk/app/src/main/java/org/apache/roller/weblogger/business/search/FieldConstants.java?rev=1508629&r1=1508628&r2=1508629&view=diff
==============================================================================
--- 
roller/trunk/app/src/main/java/org/apache/roller/weblogger/business/search/FieldConstants.java
 (original)
+++ 
roller/trunk/app/src/main/java/org/apache/roller/weblogger/business/search/FieldConstants.java
 Tue Jul 30 21:11:57 2013
@@ -47,4 +47,5 @@ public final class FieldConstants {
                                                  // the transform rules of
                                                  // the analyzer
     public static final String WEBSITE_HANDLE = "handle";
+    public static final String LOCALE = "locale";
 }

Modified: 
roller/trunk/app/src/main/java/org/apache/roller/weblogger/business/search/operations/IndexOperation.java
URL: 
http://svn.apache.org/viewvc/roller/trunk/app/src/main/java/org/apache/roller/weblogger/business/search/operations/IndexOperation.java?rev=1508629&r1=1508628&r2=1508629&view=diff
==============================================================================
--- 
roller/trunk/app/src/main/java/org/apache/roller/weblogger/business/search/operations/IndexOperation.java
 (original)
+++ 
roller/trunk/app/src/main/java/org/apache/roller/weblogger/business/search/operations/IndexOperation.java
 Tue Jul 30 21:11:57 2013
@@ -125,6 +125,10 @@ public abstract class IndexOperation imp
         doc.add(new Field(FieldConstants.TITLE, data.getTitle(),
                 Field.Store.YES, Field.Index.ANALYZED));
 
+        // text
+        doc.add(new Field(FieldConstants.LOCALE, data.getLocale(),
+                Field.Store.YES, Field.Index.ANALYZED));
+
         // index the entry text, but don't store it - moved to end of block
         // unstored
         doc.add(new Field(FieldConstants.CONTENT, data.getText(),

Modified: 
roller/trunk/app/src/main/java/org/apache/roller/weblogger/business/search/operations/SearchOperation.java
URL: 
http://svn.apache.org/viewvc/roller/trunk/app/src/main/java/org/apache/roller/weblogger/business/search/operations/SearchOperation.java?rev=1508629&r1=1508628&r2=1508629&view=diff
==============================================================================
--- 
roller/trunk/app/src/main/java/org/apache/roller/weblogger/business/search/operations/SearchOperation.java
 (original)
+++ 
roller/trunk/app/src/main/java/org/apache/roller/weblogger/business/search/operations/SearchOperation.java
 Tue Jul 30 21:11:57 2013
@@ -54,7 +54,7 @@ public class SearchOperation extends Rea
 
     private static String[] SEARCH_FIELDS = new String[] {
             FieldConstants.CONTENT, FieldConstants.TITLE,
-            FieldConstants.C_CONTENT, FieldConstants.CATEGORY };
+            FieldConstants.C_CONTENT, FieldConstants.CATEGORY, 
FieldConstants.LOCALE };
 
     // private static BooleanClause.Occur[] SEARCH_FLAGS = new
     // BooleanClause.Occur[] {
@@ -73,6 +73,7 @@ public class SearchOperation extends Rea
     private String term;
     private String websiteHandle;
     private String category;
+    private String locale;
     private String parseError;
 
     private int nMax = 500; // Limit documents.
@@ -144,6 +145,16 @@ public class SearchOperation extends Rea
                 query = bQuery;
             }
 
+            Term tLocale = IndexUtil.getTerm(FieldConstants.LOCALE,
+                    locale);
+
+            if (tLocale != null) {
+                BooleanQuery bQuery = new BooleanQuery();
+                bQuery.add(query, BooleanClause.Occur.MUST);
+                bQuery.add(new TermQuery(tLocale), BooleanClause.Occur.MUST);
+                query = bQuery;
+            }
+
             searchresults = searcher.search(query, null/* Filter */, nMax,
                     SORTER);
 
@@ -227,4 +238,14 @@ public class SearchOperation extends Rea
         this.category = category;
     }
 
+    /**
+     * Sets the locale.
+     * 
+     * @param locale
+     *            the new locale
+     */
+    public void setLocale(String locale) {
+        this.locale = locale;
+    }
+
 }

Modified: 
roller/trunk/app/src/main/java/org/apache/roller/weblogger/ui/rendering/model/SearchResultsModel.java
URL: 
http://svn.apache.org/viewvc/roller/trunk/app/src/main/java/org/apache/roller/weblogger/ui/rendering/model/SearchResultsModel.java?rev=1508629&r1=1508628&r2=1508629&view=diff
==============================================================================
--- 
roller/trunk/app/src/main/java/org/apache/roller/weblogger/ui/rendering/model/SearchResultsModel.java
 (original)
+++ 
roller/trunk/app/src/main/java/org/apache/roller/weblogger/ui/rendering/model/SearchResultsModel.java
 Tue Jul 30 21:11:57 2013
@@ -121,6 +121,10 @@ public class SearchResultsModel extends 
                        
search.setCategory(searchRequest.getWeblogCategoryName());
                }
 
+               if (searchRequest.getLocale() != null) {
+                       search.setLocale(searchRequest.getLocale());
+               }
+
                // execute search
                indexMgr.executeIndexOperationNow(search);
 

Modified: roller/trunk/app/src/main/webapp/themes/fauxcoly/search.vm
URL: 
http://svn.apache.org/viewvc/roller/trunk/app/src/main/webapp/themes/fauxcoly/search.vm?rev=1508629&r1=1508628&r2=1508629&view=diff
==============================================================================
--- roller/trunk/app/src/main/webapp/themes/fauxcoly/search.vm (original)
+++ roller/trunk/app/src/main/webapp/themes/fauxcoly/search.vm Tue Jul 30 
21:11:57 2013
@@ -8,15 +8,18 @@
     <style type="text/css">
     span.searchword { background-color:yellow; }
     </style>
+    <script type="text/javascript" >
+    //<![CDATA[
+        searchhi_config = {ignore_site : '$url.absoluteSite'};
+    //]]>
+    </script>
     <script type="application/x-javascript" 
src="$url.page('searchhi.js')"></script>
     <script type="text/javascript" >
-    <![CDATA[
+    //<![CDATA[
     function loadSearchHighlight() {
-        SearchHighlight();
-        searchhi_string = '$model.term';
-        if( location.hash.length > 1 ) location.hash = location.hash;
+        searchhi.highlightWord(document.getElementById("search_results"), 
'$model.term');
     }
-    ]]>
+    //]]>
     </script>
     #end
     <link rel="stylesheet" type="text/css" href='$url.page("custom.css")' />
@@ -73,11 +76,13 @@
         $text.get( "macro.weblog.searchgoogle", [$model.term, 
$url.absoluteSite, $url.site, ${model.weblog.handle}] )
 
 #if ($model.hits > 0)
-   #showNextPrevSearchControl($pager)
-   #set($pager = $model.getWeblogEntriesPager())
-   #showWeblogEntriesPager($pager)
-   <div id="nextprev">
-       #showNextPrevEntriesControl($pager)
+   <div id="search_results">
+       #showNextPrevSearchControl($pager)
+       #set($pager = $model.getWeblogEntriesPager())
+       #showWeblogEntriesPager($pager)
+       <div id="nextprev">
+           #showNextPrevEntriesControl($pager)
+       </div>
    </div>
 #else
    <br />

Modified: roller/trunk/app/src/main/webapp/themes/fauxcoly/searchhi.js
URL: 
http://svn.apache.org/viewvc/roller/trunk/app/src/main/webapp/themes/fauxcoly/searchhi.js?rev=1508629&r1=1508628&r2=1508629&view=diff
==============================================================================
--- roller/trunk/app/src/main/webapp/themes/fauxcoly/searchhi.js (original)
+++ roller/trunk/app/src/main/webapp/themes/fauxcoly/searchhi.js Tue Jul 30 
21:11:57 2013
@@ -53,6 +53,7 @@ searchhi = {
 
   googleSearchHighlight: function() {
     var ref = document.referrer;
+    if (ref.indexOf(searchhi_config.ignore_site) == 0) return;
     if (ref.indexOf('?') == -1) return;
     var qs = ref.substr(ref.indexOf('?')+1);
     var qsa = qs.split('&');


Reply via email to