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>
lmpx.com only provides a reader for public news (NNTP) servers. It is not
affiliated with the servers or forums shown here and is not responsible for
the content of articles, which is written by their respective authors.