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 2009/04/30 11:55:06 UTC

svn commit: r770138 - in /lenya/branches/BRANCH_2_0_X/src/modules/lucene: java/src/org/apache/lenya/cms/lucene/IndexSite.java resources/i18n/cmsui.xml resources/i18n/cmsui_de.xml usecases/indexSite.jx

Author: andreas
Date: Thu Apr 30 09:55:06 2009
New Revision: 770138

URL: http://svn.apache.org/viewvc?rev=770138&view=rev
Log:
Add option to index all areas, fixes bug 47128.

Modified:
    lenya/branches/BRANCH_2_0_X/src/modules/lucene/java/src/org/apache/lenya/cms/lucene/IndexSite.java
    lenya/branches/BRANCH_2_0_X/src/modules/lucene/resources/i18n/cmsui.xml
    lenya/branches/BRANCH_2_0_X/src/modules/lucene/resources/i18n/cmsui_de.xml
    lenya/branches/BRANCH_2_0_X/src/modules/lucene/usecases/indexSite.jx

Modified: lenya/branches/BRANCH_2_0_X/src/modules/lucene/java/src/org/apache/lenya/cms/lucene/IndexSite.java
URL: http://svn.apache.org/viewvc/lenya/branches/BRANCH_2_0_X/src/modules/lucene/java/src/org/apache/lenya/cms/lucene/IndexSite.java?rev=770138&r1=770137&r2=770138&view=diff
==============================================================================
--- lenya/branches/BRANCH_2_0_X/src/modules/lucene/java/src/org/apache/lenya/cms/lucene/IndexSite.java (original)
+++ lenya/branches/BRANCH_2_0_X/src/modules/lucene/java/src/org/apache/lenya/cms/lucene/IndexSite.java Thu Apr 30 09:55:06 2009
@@ -17,8 +17,12 @@
  */
 package org.apache.lenya.cms.lucene;
 
+import java.util.Arrays;
+
+import org.apache.avalon.framework.service.ServiceException;
 import org.apache.lenya.cms.publication.Area;
 import org.apache.lenya.cms.publication.Document;
+import org.apache.lenya.cms.publication.DocumentException;
 import org.apache.lenya.cms.publication.DocumentFactory;
 import org.apache.lenya.cms.publication.Publication;
 import org.apache.lenya.cms.publication.URLInformation;
@@ -29,6 +33,17 @@
  */
 public class IndexSite extends AbstractUsecase {
 
+    public static final String PARAM_AREA = "area";
+    public static final String PARAM_INDEX_AREA = "indexArea";
+    
+    public void prepareView() {
+        String url = getSourceURL();
+        URLInformation info = new URLInformation(url);
+        String area = info.getArea();
+        setParameter(PARAM_AREA, area);
+        setParameter(PARAM_INDEX_AREA, "all");
+    }
+    
     public void doExecute() throws Exception {
         String url = getSourceURL();
         URLInformation info = new URLInformation(url);
@@ -36,8 +51,23 @@
 
         DocumentFactory factory = getDocumentFactory();
         Publication pub = factory.getPublication(pubId);
-        Area area = pub.getArea(info.getArea());
 
+        String areaName = getParameterAsString(PARAM_INDEX_AREA);
+
+        String[] areaNames = pub.getAreaNames();
+        if (areaName != null && Arrays.asList(areaNames).contains(areaName)) {
+            Area area = pub.getArea(areaName);
+            indexArea(area);
+        } else {
+            for (int a = 0; a < areaNames.length; a++) {
+                Area area = pub.getArea(areaNames[a]);
+                indexArea(area);
+            }
+        }
+
+    }
+
+    protected void indexArea(Area area) throws ServiceException, DocumentException {
         Document[] docs = area.getDocuments();
 
         IndexUpdater updater = null;
@@ -45,8 +75,8 @@
             updater = (IndexUpdater) this.manager.lookup(IndexUpdater.ROLE);
             for (int i = 0; i < docs.length; i++) {
                 try {
-                    updater.index(getSession(), docs[i].getResourceType(), pubId, area.getName(),
-                            docs[i].getUUID(), docs[i].getLanguage());
+                    updater.index(getSession(), docs[i].getResourceType(), area.getPublication()
+                            .getId(), area.getName(), docs[i].getUUID(), docs[i].getLanguage());
                 } catch (Exception e) {
                     String message = "Error indexing document [" + docs[i].getPath() + ":"
                             + docs[i].getLanguage() + "], UUID=" + docs[i].getUUID();

Modified: lenya/branches/BRANCH_2_0_X/src/modules/lucene/resources/i18n/cmsui.xml
URL: http://svn.apache.org/viewvc/lenya/branches/BRANCH_2_0_X/src/modules/lucene/resources/i18n/cmsui.xml?rev=770138&r1=770137&r2=770138&view=diff
==============================================================================
--- lenya/branches/BRANCH_2_0_X/src/modules/lucene/resources/i18n/cmsui.xml (original)
+++ lenya/branches/BRANCH_2_0_X/src/modules/lucene/resources/i18n/cmsui.xml Thu Apr 30 09:55:06 2009
@@ -34,7 +34,9 @@
   
   <message key="New Search Page">New Search Page</message>
   <message key="Re-Index Site">Re-Index Site</message>
-  <message key="re-index site?">Do you want to re-index all documents of this publication in the current area?</message>
+  <message key="re-index site?">Do you want to re-index all documents of this publication?</message>
+  <message key="lucene-index-all-areas">all areas</message>
+  <message key="lucene-index-current-area">{0} area</message>
   
   <message key="documents">Documents</message>
   <message key="images">Images</message>

Modified: lenya/branches/BRANCH_2_0_X/src/modules/lucene/resources/i18n/cmsui_de.xml
URL: http://svn.apache.org/viewvc/lenya/branches/BRANCH_2_0_X/src/modules/lucene/resources/i18n/cmsui_de.xml?rev=770138&r1=770137&r2=770138&view=diff
==============================================================================
--- lenya/branches/BRANCH_2_0_X/src/modules/lucene/resources/i18n/cmsui_de.xml (original)
+++ lenya/branches/BRANCH_2_0_X/src/modules/lucene/resources/i18n/cmsui_de.xml Thu Apr 30 09:55:06 2009
@@ -35,8 +35,10 @@
   <message key="New Search Page">Neue Suchseite</message>
   <message key="Re-Index Site">Website neu indexieren</message>
   <message key="re-index site?">
-    Wollen Sie alle Dokumente dieser Publikation in der aktuellen Area neu indexieren?
-  </message>
+    Wollen Sie alle Dokumente dieser Publikation neu indexieren?
+  </message>
+  <message key="lucene-index-all-areas">Alle Areas</message>
+  <message key="lucene-index-current-area"><xhtml:span style="text-transform: capitalize;">{0}</xhtml:span>-Area</message>
 
   <message key="documents">Dokumente</message>
   <message key="images">Bilder</message>

Modified: lenya/branches/BRANCH_2_0_X/src/modules/lucene/usecases/indexSite.jx
URL: http://svn.apache.org/viewvc/lenya/branches/BRANCH_2_0_X/src/modules/lucene/usecases/indexSite.jx?rev=770138&r1=770137&r2=770138&view=diff
==============================================================================
--- lenya/branches/BRANCH_2_0_X/src/modules/lucene/usecases/indexSite.jx (original)
+++ lenya/branches/BRANCH_2_0_X/src/modules/lucene/usecases/indexSite.jx Thu Apr 30 09:55:06 2009
@@ -37,6 +37,19 @@
       <input type="hidden" name="lenya.continuation" value="${continuation.id}"/>
       <input type="hidden" name="lenya.usecase" value="${usecase.getName()}"/>
       <p>
+        <jx:set var="indexArea" value="${usecase.getParameter('indexArea')}"/>
+        <input id="allAreas" type="radio" name="indexArea" value="all" checked="checked"/>
+        <label for="allAreas"><i18n:text>lucene-index-all-areas</i18n:text></label>
+        <jx:set var="area" value="${usecase.getParameter('area')}"/>
+        <input id="allAreas" type="radio" name="indexArea" value="${area}"/>
+        <label for="allAreas">
+          <i18n:translate>
+            <i18n:text>lucene-index-current-area</i18n:text>
+            <i18n:param>${area}</i18n:param>
+          </i18n:translate>
+        </label>
+      </p>
+      <p>
         <input i18n:attr="value" name="submit" type="submit" value="Submit"/>
         <input i18n:attr="value" name="cancel" type="submit" value="Cancel"/>
       </p>



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