You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lenya.apache.org by ch...@apache.org on 2005/11/23 21:13:16 UTC
svn commit: r348547 - in /lenya/trunk/src:
java/org/apache/lenya/cms/editors/ java/org/apache/lenya/cms/editors/forms/
modules/lucene/java/src/org/apache/lenya/
modules/lucene/java/src/org/apache/lenya/cms/
modules/lucene/java/src/org/apache/lenya/cms/...
Author: chestnut
Date: Wed Nov 23 12:13:01 2005
New Revision: 348547
URL: http://svn.apache.org/viewcvs?rev=348547&view=rev
Log:
made lucene indexes area (live and authoring) specific,
lucene usecase which can be called as an exit usecase of other usecases
Added:
lenya/trunk/src/modules/lucene/java/src/org/apache/lenya/
lenya/trunk/src/modules/lucene/java/src/org/apache/lenya/cms/
lenya/trunk/src/modules/lucene/java/src/org/apache/lenya/cms/lucene/
lenya/trunk/src/modules/lucene/java/src/org/apache/lenya/cms/lucene/IndexDocument.java (with props)
lenya/trunk/src/webapp/lenya/pubs/default/config/usecases-lucene-index.xconf (with props)
Modified:
lenya/trunk/src/java/org/apache/lenya/cms/editors/EditDocument.java
lenya/trunk/src/java/org/apache/lenya/cms/editors/forms/OneFormEditor.java
lenya/trunk/src/modules/lucene/usecases/lucene/usecase.xmap
lenya/trunk/src/webapp/WEB-INF/cocoon-xconf.xsl
lenya/trunk/src/webapp/lenya/pubs/default/config/index_manager_index.xconf
lenya/trunk/src/webapp/lenya/pubs/default/config/usecases-workflow-deactivate.xconf
lenya/trunk/src/webapp/lenya/pubs/default/config/usecases-workflow-publish.xconf
lenya/trunk/src/webapp/lenya/pubs/default/java/src/org/apache/lenya/defaultpub/cms/publication/templating/Instantiator.java
lenya/trunk/src/webapp/lenya/pubs/default/java/src/org/apache/lenya/defaultpub/cms/usecases/Deactivate.java
lenya/trunk/src/webapp/lenya/pubs/default/java/src/org/apache/lenya/defaultpub/cms/usecases/Publish.java
Modified: lenya/trunk/src/java/org/apache/lenya/cms/editors/EditDocument.java
URL: http://svn.apache.org/viewcvs/lenya/trunk/src/java/org/apache/lenya/cms/editors/EditDocument.java?rev=348547&r1=348546&r2=348547&view=diff
==============================================================================
--- lenya/trunk/src/java/org/apache/lenya/cms/editors/EditDocument.java (original)
+++ lenya/trunk/src/java/org/apache/lenya/cms/editors/EditDocument.java Wed Nov 23 12:13:01 2005
@@ -23,7 +23,6 @@
import org.apache.lenya.cms.usecase.DocumentUsecase;
import org.apache.lenya.cms.usecase.UsecaseException;
import org.apache.lenya.cms.workflow.WorkflowUtil;
-import org.xml.sax.InputSource;
/**
* Usecase to edit documents.
@@ -55,12 +54,6 @@
getLogger(),
getSourceDocument(),
"edit");
-
- //index
- resolver = (SourceResolver) this.manager.lookup(SourceResolver.ROLE);
- source = resolver.resolveURI("cocoon://core/modules/lucene/lucene/index.xml");
- InputSource xmlInputSource = org.apache.cocoon.components.source.SourceUtil.getInputSource(source);
-
} finally {
if (resolver != null) {
if (source != null) {
Modified: lenya/trunk/src/java/org/apache/lenya/cms/editors/forms/OneFormEditor.java
URL: http://svn.apache.org/viewcvs/lenya/trunk/src/java/org/apache/lenya/cms/editors/forms/OneFormEditor.java?rev=348547&r1=348546&r2=348547&view=diff
==============================================================================
--- lenya/trunk/src/java/org/apache/lenya/cms/editors/forms/OneFormEditor.java (original)
+++ lenya/trunk/src/java/org/apache/lenya/cms/editors/forms/OneFormEditor.java Wed Nov 23 12:13:01 2005
@@ -37,7 +37,6 @@
import org.apache.lenya.xml.Schema;
import org.apache.lenya.xml.ValidationUtil;
import org.w3c.dom.Document;
-import org.xml.sax.InputSource;
import org.xml.sax.SAXException;
/**
@@ -119,10 +118,6 @@
getLogger(),
getSourceDocument(),
getEvent());
-
- //re-index
- indexSource = resolver.resolveURI("cocoon://core/modules/lucene/lucene/index.xml");
- InputSource xmlInputSource = org.apache.cocoon.components.source.SourceUtil.getInputSource(indexSource);
}
}
Added: lenya/trunk/src/modules/lucene/java/src/org/apache/lenya/cms/lucene/IndexDocument.java
URL: http://svn.apache.org/viewcvs/lenya/trunk/src/modules/lucene/java/src/org/apache/lenya/cms/lucene/IndexDocument.java?rev=348547&view=auto
==============================================================================
--- lenya/trunk/src/modules/lucene/java/src/org/apache/lenya/cms/lucene/IndexDocument.java (added)
+++ lenya/trunk/src/modules/lucene/java/src/org/apache/lenya/cms/lucene/IndexDocument.java Wed Nov 23 12:13:01 2005
@@ -0,0 +1,89 @@
+/*
+ * Copyright 1999-2005 The Apache Software Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.lenya.cms.lucene;
+
+import org.apache.excalibur.source.Source;
+import org.apache.excalibur.source.SourceResolver;
+import org.apache.lenya.cms.cocoon.source.SourceUtil;
+import org.apache.lenya.cms.repository.Node;
+import org.apache.lenya.cms.usecase.DocumentUsecase;
+import org.apache.lenya.cms.usecase.UsecaseException;
+import org.apache.lenya.cms.workflow.WorkflowUtil;
+import org.xml.sax.InputSource;
+
+/**
+ * Usecase to maintain lucene index.
+ */
+public class IndexDocument extends DocumentUsecase {
+
+ /**
+ * The URI to copy the document source from.
+ */
+ public static final String SOURCE_URI = "sourceUri";
+
+ public static final String INDEX_ACTION = "indexAction";
+ public static final String INDEX = "index";
+ public static final String DELETE = "delete";
+ public static final String INDEX_AREA = "indexArea";
+
+ /**
+ * @see org.apache.lenya.cms.usecase.AbstractUsecase#doExecute()
+ */
+ protected void doExecute() throws Exception {
+ super.doExecute();
+ SourceResolver resolver = null;
+ Source source = null;
+
+ String action = super.getParameterAsString(INDEX_ACTION);
+ String area = super.getParameterAsString(INDEX_AREA);
+
+ try {
+ resolver = (SourceResolver) this.manager.lookup(SourceResolver.ROLE);
+ if (action.equals(INDEX)) {
+ //index
+ source = resolver.resolveURI("cocoon://core/modules/lucene/lucene/index-"+area+".xml");
+ InputSource xmlInputSource = org.apache.cocoon.components.source.SourceUtil.getInputSource(source);
+ }
+ else if (action.equals(DELETE)) {
+ //delete
+ source = resolver.resolveURI("cocoon://core/modules/lucene/lucene/delete-"+area+".xml");
+ InputSource xmlInputSource = org.apache.cocoon.components.source.SourceUtil.getInputSource(source);
+ }
+ } finally {
+ if (resolver != null) {
+ if (source != null) {
+ resolver.release(source);
+ }
+ this.manager.release(resolver);
+ }
+ }
+ }
+
+ /**
+ * @see org.apache.lenya.cms.usecase.AbstractUsecase#getNodesToLock()
+ */
+ protected Node[] getNodesToLock() throws UsecaseException {
+ if (getLogger().isDebugEnabled()) {
+ getLogger().debug("IndexDocument::getObjectsToLock() called on source document ["
+ + getSourceDocument().getId() + "]");
+ }
+
+ Node[] objects = { getSourceDocument().getRepositoryNode() };
+ return objects;
+ }
+
+}
Propchange: lenya/trunk/src/modules/lucene/java/src/org/apache/lenya/cms/lucene/IndexDocument.java
------------------------------------------------------------------------------
svn:eol-style = native
Modified: lenya/trunk/src/modules/lucene/usecases/lucene/usecase.xmap
URL: http://svn.apache.org/viewcvs/lenya/trunk/src/modules/lucene/usecases/lucene/usecase.xmap?rev=348547&r1=348546&r2=348547&view=diff
==============================================================================
--- lenya/trunk/src/modules/lucene/usecases/lucene/usecase.xmap (original)
+++ lenya/trunk/src/modules/lucene/usecases/lucene/usecase.xmap Wed Nov 23 12:13:01 2005
@@ -89,7 +89,7 @@
<map:match pattern="search.xml">
<map:generate type="search">
- <map:parameter name="index" value="{realpath://lenya/pubs/{page-envelope:publication-id}/work/lucene/index}"/>
+ <map:parameter name="index" value="{realpath://lenya/pubs/{page-envelope:publication-id}/work/lucene/index/{page-envelope:area}/index}"/>
</map:generate>
<map:transform src="fallback://lenya/modules/lucene/xslt/search2html.xsl">
@@ -114,7 +114,7 @@
<map:serialize type="xml"/>
</map:match>
- <map:match pattern="index.xml">
+ <map:match pattern="index-*.xml">
<map:aggregate element="cmsbody">
<!-- TODO Use the standard pipeline for retieving the document -->
<!-- <map:part src="cocoon:/modules/{page-envelope:document-type}/view.xml"/> -->
@@ -123,7 +123,7 @@
</map:aggregate>
<map:transform src="fallback://lenya/modules/lucene/xslt/{page-envelope:document-type}2index.xsl">
- <map:parameter name="index" value="{page-envelope:publication-id}"/>
+ <map:parameter name="index" value="{page-envelope:publication-id}-{1}"/>
<map:parameter name="action" value="index"/>
<map:parameter name="url" value="{request:requestURI}"/>
<map:parameter name="id" value="{page-envelope:document-url}"/>
@@ -133,7 +133,7 @@
<map:serialize type="xml"/>
</map:match>
- <map:match pattern="delete.xml">
+ <map:match pattern="delete-*.xml">
<map:aggregate element="cmsbody">
<!-- TODO Use the standard pipeline for retieving the document -->
<!-- <map:part src="cocoon:/modules/{page-envelope:document-type}/view.xml"/> -->
@@ -142,7 +142,7 @@
</map:aggregate>
<map:transform src="fallback://lenya/modules/lucene/xslt/{page-envelope:document-type}2index.xsl">
- <map:parameter name="index" value="{page-envelope:publication-id}"/>
+ <map:parameter name="index" value="{page-envelope:publication-id}-{1}"/>
<map:parameter name="action" value="delete"/>
<map:parameter name="url" value="{request:requestURI}"/>
<map:parameter name="id" value="{page-envelope:document-url}"/>
Modified: lenya/trunk/src/webapp/WEB-INF/cocoon-xconf.xsl
URL: http://svn.apache.org/viewcvs/lenya/trunk/src/webapp/WEB-INF/cocoon-xconf.xsl?rev=348547&r1=348546&r2=348547&view=diff
==============================================================================
--- lenya/trunk/src/webapp/WEB-INF/cocoon-xconf.xsl (original)
+++ lenya/trunk/src/webapp/WEB-INF/cocoon-xconf.xsl Wed Nov 23 12:13:01 2005
@@ -423,9 +423,19 @@
</component-instance>
<component-instance name="site.delete" logger="lenya.site" class="org.apache.lenya.cms.site.usecases.Delete">
<view template="usecases/site/delete.jx"/>
+ <exit usecase="lucene.index">
+ <parameter name="indexAction" value="delete"/>
+ <parameter name="indexArea" value="authoring"/>
+ <parameter name="lenya.exitUsecase" value="tab.overview"/>
+ </exit>
</component-instance>
<component-instance name="site.deleteLanguage" logger="lenya.site" class="org.apache.lenya.cms.site.usecases.DeleteLanguage">
<view template="usecases/site/deleteLanguage.jx"/>
+ <exit usecase="lucene.index">
+ <parameter name="indexAction" value="delete"/>
+ <parameter name="indexArea" value="authoring"/>
+ <parameter name="lenya.exitUsecase" value="tab.overview"/>
+ </exit>
</component-instance>
<component-instance name="site.changeLabel" logger="lenya.site" class="org.apache.lenya.cms.site.usecases.ChangeLabel">
<view template="usecases/site/changeLabel.jx"/>
@@ -435,6 +445,11 @@
</component-instance>
<component-instance name="site.cut" logger="lenya.site" class="org.apache.lenya.cms.site.usecases.Cut">
<view template="usecases/site/cut.jx"/>
+ <exit usecase="lucene.index">
+ <parameter name="indexAction" value="delete"/>
+ <parameter name="indexArea" value="authoring"/>
+ <parameter name="lenya.exitUsecase" value="tab.overview"/>
+ </exit>
</component-instance>
<component-instance name="site.copy" logger="lenya.site" class="org.apache.lenya.cms.site.usecases.Copy">
<view template="usecases/site/copy.jx"/>
@@ -444,9 +459,19 @@
</component-instance>
<component-instance name="site.archive" logger="lenya.site" class="org.apache.lenya.cms.site.usecases.Archive">
<view template="usecases/site/archive.jx"/>
+ <exit usecase="lucene.index">
+ <parameter name="indexAction" value="delete"/>
+ <parameter name="indexArea" value="authoring"/>
+ <parameter name="lenya.exitUsecase" value="tab.overview"/>
+ </exit>
</component-instance>
<component-instance name="site.restore" logger="lenya.site" class="org.apache.lenya.cms.site.usecases.Restore">
<view template="usecases/site/restore.jx"/>
+ <exit usecase="lucene.index">
+ <parameter name="indexAction" value="index"/>
+ <parameter name="indexArea" value="authoring"/>
+ <parameter name="lenya.exitUsecase" value="tab.overview"/>
+ </exit>
</component-instance>
<component-instance name="tab.acArchive" logger="lenya.site" class="org.apache.lenya.cms.ac.usecases.AccessControl">
@@ -485,7 +510,11 @@
<view template="usecases/tab/meta.jx" menu="true">
<tab group="site" name="meta"/>
</view>
- <exit usecase="tab.meta"/>
+ <exit usecase="lucene.index">
+ <parameter name="indexAction" value="index"/>
+ <parameter name="indexArea" value="authoring"/>
+ <parameter name="lenya.exitUsecase" value="tab.meta"/>
+ </exit>
</component-instance>
<component-instance name="tab.overview" logger="lenya.site" class="org.apache.lenya.cms.site.usecases.Overview">
<view template="usecases/tab/overview.jx" menu="true">
@@ -540,23 +569,39 @@
class="org.apache.lenya.cms.editors.forms.FormsEditor">
<transaction policy="pessimistic"/>
<view template="usecases/edit/forms/forms.jx" menu="false"/>
+ <exit usecase="lucene.index">
+ <parameter name="indexAction" value="index"/>
+ <parameter name="indexArea" value="authoring"/>
+ </exit>
</component-instance>
<component-instance name="edit.oneform" logger="lenya.publication"
class="org.apache.lenya.cms.editors.forms.OneFormEditor">
<transaction policy="pessimistic"/>
<view template="usecases/edit/forms/oneform.jx" menu="false"/>
+ <exit usecase="lucene.index">
+ <parameter name="indexAction" value="index"/>
+ <parameter name="indexArea" value="authoring"/>
+ </exit>
</component-instance>
<component-instance name="edit.bxe" logger="lenya.publication"
class="org.apache.lenya.cms.editors.bxe.BXE">
<transaction policy="pessimistic"/>
<view template="usecases/edit/bxe/bxe.jx" menu="false"/>
+ <exit usecase="lucene.index">
+ <parameter name="indexAction" value="index"/>
+ <parameter name="indexArea" value="authoring"/>
+ </exit>
</component-instance>
<component-instance name="edit.kupu" logger="lenya.publication"
class="org.apache.lenya.cms.editors.kupu.Kupu">
<transaction policy="pessimistic"/>
<view template="usecases/edit/kupu/kupu.jx" menu="false"/>
+ <exit usecase="lucene.index">
+ <parameter name="indexAction" value="index"/>
+ <parameter name="indexArea" value="authoring"/>
+ </exit>
</component-instance>
<component-instance name="rollback" logger="lenya.publication"
Modified: lenya/trunk/src/webapp/lenya/pubs/default/config/index_manager_index.xconf
URL: http://svn.apache.org/viewcvs/lenya/trunk/src/webapp/lenya/pubs/default/config/index_manager_index.xconf?rev=348547&r1=348546&r2=348547&view=diff
==============================================================================
--- lenya/trunk/src/webapp/lenya/pubs/default/config/index_manager_index.xconf (original)
+++ lenya/trunk/src/webapp/lenya/pubs/default/config/index_manager_index.xconf Wed Nov 23 12:13:01 2005
@@ -15,14 +15,25 @@
limitations under the License.
-->
- <xconf xpath="/cocoon/index_manager/indexes" remove="/cocoon/index_manager/indexes/index" unless="/cocoon/index_manager/indexes/index[@id = 'default']">
- <index id="default" analyzer="stopword_en" directory="${basedir}/${build.webapp}/lenya/pubs/default/work/lucene/index" >
- <structure>
- <field id="url" type="keyword" />
- <field id="title" type="text" storetext="true"/>
- <field id="description" type="text" storetext="true"/>
- <field id="subject" type="keyword" storetext="true" />
- <field id="body" type="text" storetext="true"/>
- </structure>
- </index>
+ <xconf xpath="/cocoon/index_manager/indexes" remove="/cocoon/index_manager/indexes/index" unless="/cocoon/index_manager/indexes/index[@id = 'default-live' or @id = 'default-authoring']">
+
+ <index id="default-live" analyzer="stopword_en" directory="${basedir}/${build.webapp}/lenya/pubs/default/work/lucene/index/live/index" >
+ <structure>
+ <field id="url" type="keyword" />
+ <field id="title" type="text" storetext="true"/>
+ <field id="description" type="text" storetext="true"/>
+ <field id="subject" type="keyword" storetext="true" />
+ <field id="body" type="text" storetext="true"/>
+ </structure>
+ </index>
+
+ <index id="default-authoring" analyzer="stopword_en" directory="${basedir}/${build.webapp}/lenya/pubs/default/work/lucene/index/authoring/index" >
+ <structure>
+ <field id="url" type="keyword" />
+ <field id="title" type="text" storetext="true"/>
+ <field id="description" type="text" storetext="true"/>
+ <field id="subject" type="keyword" storetext="true" />
+ <field id="body" type="text" storetext="true"/>
+ </structure>
+ </index>
</xconf>
Added: lenya/trunk/src/webapp/lenya/pubs/default/config/usecases-lucene-index.xconf
URL: http://svn.apache.org/viewcvs/lenya/trunk/src/webapp/lenya/pubs/default/config/usecases-lucene-index.xconf?rev=348547&view=auto
==============================================================================
--- lenya/trunk/src/webapp/lenya/pubs/default/config/usecases-lucene-index.xconf (added)
+++ lenya/trunk/src/webapp/lenya/pubs/default/config/usecases-lucene-index.xconf Wed Nov 23 12:13:01 2005
@@ -0,0 +1,30 @@
+<?xml version="1.0"?>
+<!--
+ Copyright 1999-2005 The Apache Software Foundation
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+
+
+<!--
+ This file defines the publication specific use-cases
+-->
+
+ <xconf xpath="/cocoon/usecases" unless="/cocoon/usecases/component-instance[@name = 'default/lucene.index']">
+
+ <component-instance name="default/lucene.index"
+ logger="lenya.usecases.lucene"
+ class="org.apache.lenya.cms.lucene.IndexDocument">
+ </component-instance>
+
+ </xconf>
Propchange: lenya/trunk/src/webapp/lenya/pubs/default/config/usecases-lucene-index.xconf
------------------------------------------------------------------------------
svn:eol-style = native
Modified: lenya/trunk/src/webapp/lenya/pubs/default/config/usecases-workflow-deactivate.xconf
URL: http://svn.apache.org/viewcvs/lenya/trunk/src/webapp/lenya/pubs/default/config/usecases-workflow-deactivate.xconf?rev=348547&r1=348546&r2=348547&view=diff
==============================================================================
--- lenya/trunk/src/webapp/lenya/pubs/default/config/usecases-workflow-deactivate.xconf (original)
+++ lenya/trunk/src/webapp/lenya/pubs/default/config/usecases-workflow-deactivate.xconf Wed Nov 23 12:13:01 2005
@@ -26,6 +26,10 @@
logger="lenya.usecases.workflow"
class="org.apache.lenya.defaultpub.cms.usecases.Deactivate">
<view template="usecases/workflow/deactivate.jx"/>
+ <exit usecase="lucene.index">
+ <parameter name="indexAction" value="delete"/>
+ <parameter name="indexArea" value="live"/>
+ </exit>
</component-instance>
</xconf>
Modified: lenya/trunk/src/webapp/lenya/pubs/default/config/usecases-workflow-publish.xconf
URL: http://svn.apache.org/viewcvs/lenya/trunk/src/webapp/lenya/pubs/default/config/usecases-workflow-publish.xconf?rev=348547&r1=348546&r2=348547&view=diff
==============================================================================
--- lenya/trunk/src/webapp/lenya/pubs/default/config/usecases-workflow-publish.xconf (original)
+++ lenya/trunk/src/webapp/lenya/pubs/default/config/usecases-workflow-publish.xconf Wed Nov 23 12:13:01 2005
@@ -26,6 +26,10 @@
logger="lenya.usecases.workflow"
class="org.apache.lenya.defaultpub.cms.usecases.Publish">
<view template="usecases/workflow/publish.jx"/>
+ <exit usecase="lucene.index">
+ <parameter name="indexAction" value="index"/>
+ <parameter name="indexArea" value="live"/>
+ </exit>
</component-instance>
</xconf>
Modified: lenya/trunk/src/webapp/lenya/pubs/default/java/src/org/apache/lenya/defaultpub/cms/publication/templating/Instantiator.java
URL: http://svn.apache.org/viewcvs/lenya/trunk/src/webapp/lenya/pubs/default/java/src/org/apache/lenya/defaultpub/cms/publication/templating/Instantiator.java?rev=348547&r1=348546&r2=348547&view=diff
==============================================================================
--- lenya/trunk/src/webapp/lenya/pubs/default/java/src/org/apache/lenya/defaultpub/cms/publication/templating/Instantiator.java (original)
+++ lenya/trunk/src/webapp/lenya/pubs/default/java/src/org/apache/lenya/defaultpub/cms/publication/templating/Instantiator.java Wed Nov 23 12:13:01 2005
@@ -112,43 +112,45 @@
save(metaDoc, metaSource);
- // RGE: Soc addition
- // First, patch the xconf patchfile with the new publication name
+ // RGE: Soc addition
+ // First, patch the xconf patchfile with the new publication name
- String indexDir = publicationsUri + newPublicationId + "/work/lucene/index";
- indexDir = indexDir.substring(5);
+ String indexDir = publicationsUri + newPublicationId + "/work/lucene/index";
+ indexDir = indexDir.substring(5);
- indexSource = (ModifiableSource) resolver.resolveURI(publicationsUri + "/" + newPublicationId + "/config/index_manager_index.xconf");
+ indexSource = (ModifiableSource) resolver.resolveURI(publicationsUri + "/" + newPublicationId + "/config/index_manager_index.xconf");
Document indexDoc = DocumentHelper.readDocument(indexSource.getInputStream());
- NamespaceHelper indexHelper = new NamespaceHelper(null,"xconf",indexDoc);
+ NamespaceHelper indexHelper = new NamespaceHelper(null,"xconf",indexDoc);
- indexerSource = (ModifiableSource) resolver.resolveURI(publicationsUri + "/" + newPublicationId + "/config/index_manager.xconf");
+ indexerSource = (ModifiableSource) resolver.resolveURI(publicationsUri + "/" + newPublicationId + "/config/index_manager.xconf");
Document indexerDoc = DocumentHelper.readDocument(indexerSource.getInputStream());
- NamespaceHelper indexerHelper = new NamespaceHelper(null,"xconf",indexerDoc);
+ NamespaceHelper indexerHelper = new NamespaceHelper(null,"xconf",indexerDoc);
- Element indexManagerElement = indexerHelper.getFirstChild(indexerDoc.getDocumentElement(),"index_manager");
- Element indexerElement = indexerHelper.getFirstChild(indexManagerElement,"indexer");
+ Element indexManagerElement = indexerHelper.getFirstChild(indexerDoc.getDocumentElement(),"index_manager");
+ Element indexerElement = indexerHelper.getFirstChild(indexManagerElement,"indexer");
- Element xconfIndexElement = indexDoc.getDocumentElement();
- xconfIndexElement.setAttribute("unless","/cocoon/index_manager/indexes/index[@id = '" + newPublicationId + "']");
+ Element xconfIndexElement = indexDoc.getDocumentElement();
+ xconfIndexElement.setAttribute("unless","/cocoon/index_manager/indexes/index[@id = '"+newPublicationId+"-live' or @id = '"+newPublicationId+"-authoring']");
- Element indexElement = indexHelper.getFirstChild(indexDoc.getDocumentElement(), "index");
+ Element[] indexElement = indexHelper.getChildren(indexDoc.getDocumentElement(), "index");
- indexElement.setAttribute("id",newPublicationId);
- indexElement.setAttribute("directory", indexDir);
+ indexElement[0].setAttribute("id",newPublicationId+"-live");
+ indexElement[0].setAttribute("directory", indexDir+"/live/index");
+ indexElement[1].setAttribute("id",newPublicationId+"-authoring");
+ indexElement[1].setAttribute("directory", indexDir+"/authoring/index");
save(indexDoc, indexSource);
+
+ // Second, configure the index and add it to the IndexManager
- // Second, configure the index and add it to the IndexManager
-
- IndexManager indexM = (IndexManager) manager.lookup(IndexManager.ROLE);
+ IndexManager indexM = (IndexManager) manager.lookup(IndexManager.ROLE);
- Element structure = indexHelper.getFirstChild(indexElement, "structure");
+ Element structure = indexHelper.getFirstChild(indexElement[0], "structure");
Element[] fields = indexHelper.getChildren(structure, "field");
IndexStructure docdecl = new IndexStructure();
- for (int j = 0; j < fields.length; j++) {
+ for (int j = 0; j < fields.length; j++) {
FieldDefinition fielddecl = null;
@@ -166,8 +168,8 @@
// field store attribute
boolean store;
- Boolean BoolStore = new Boolean(fields[j].getAttribute("storetext"));
- store = BoolStore.booleanValue();
+ Boolean BoolStore = new Boolean(fields[j].getAttribute("storetext"));
+ store = BoolStore.booleanValue();
fielddecl.setStore(store);
@@ -180,15 +182,23 @@
docdecl.addFieldDef(fielddecl);
}
- Index index = new Index();
- index.setID(newPublicationId);
- index.setIndexer(indexerElement.getAttribute("role"));
- index.setDirectory(indexDir);
- index.setDefaultAnalyzerID(indexElement.getAttribute("analyzer"));
- index.setManager(manager);
- index.setStructure(docdecl);
+ Index indexLive = new Index();
+ Index indexAuthoring = new Index();
+ indexLive.setID(newPublicationId+"-live");
+ indexAuthoring.setID(newPublicationId+"-authoring");
+ indexLive.setIndexer(indexerElement.getAttribute("role"));
+ indexAuthoring.setIndexer(indexerElement.getAttribute("role"));
+ indexLive.setDirectory(indexDir+"/live/index");
+ indexAuthoring.setDirectory(indexDir+"/authoring/index");
+ indexLive.setDefaultAnalyzerID(indexElement[0].getAttribute("analyzer"));
+ indexAuthoring.setDefaultAnalyzerID(indexElement[1].getAttribute("analyzer"));
+ indexLive.setManager(manager);
+ indexAuthoring.setManager(manager);
+ indexLive.setStructure(docdecl);
+ indexAuthoring.setStructure(docdecl);
- indexM.addIndex(index);
+ indexM.addIndex(indexLive);
+ indexM.addIndex(indexAuthoring);
manager.release(indexM);
// TODO: release all objects!
Modified: lenya/trunk/src/webapp/lenya/pubs/default/java/src/org/apache/lenya/defaultpub/cms/usecases/Deactivate.java
URL: http://svn.apache.org/viewcvs/lenya/trunk/src/webapp/lenya/pubs/default/java/src/org/apache/lenya/defaultpub/cms/usecases/Deactivate.java?rev=348547&r1=348546&r2=348547&view=diff
==============================================================================
--- lenya/trunk/src/webapp/lenya/pubs/default/java/src/org/apache/lenya/defaultpub/cms/usecases/Deactivate.java (original)
+++ lenya/trunk/src/webapp/lenya/pubs/default/java/src/org/apache/lenya/defaultpub/cms/usecases/Deactivate.java Wed Nov 23 12:13:01 2005
@@ -150,10 +150,6 @@
authoringDocument,
getEvent());
- resolver = (SourceResolver) this.manager.lookup(SourceResolver.ROLE);
- source = resolver.resolveURI("cocoon://core/modules/lucene/lucene/delete.xml");
- InputSource xmlInputSource = org.apache.cocoon.components.source.SourceUtil.getInputSource(source);
-
success = true;
} catch (Exception e) {
throw new RuntimeException(e);
Modified: lenya/trunk/src/webapp/lenya/pubs/default/java/src/org/apache/lenya/defaultpub/cms/usecases/Publish.java
URL: http://svn.apache.org/viewcvs/lenya/trunk/src/webapp/lenya/pubs/default/java/src/org/apache/lenya/defaultpub/cms/usecases/Publish.java?rev=348547&r1=348546&r2=348547&view=diff
==============================================================================
--- lenya/trunk/src/webapp/lenya/pubs/default/java/src/org/apache/lenya/defaultpub/cms/usecases/Publish.java (original)
+++ lenya/trunk/src/webapp/lenya/pubs/default/java/src/org/apache/lenya/defaultpub/cms/usecases/Publish.java Wed Nov 23 12:13:01 2005
@@ -257,10 +257,6 @@
authoringDocument,
getEvent());
- resolver = (SourceResolver) this.manager.lookup(SourceResolver.ROLE);
- source = resolver.resolveURI("cocoon://core/modules/lucene/lucene/index.xml");
- InputSource xmlInputSource = org.apache.cocoon.components.source.SourceUtil.getInputSource(source);
-
boolean notify = Boolean.valueOf(getBooleanCheckboxParameter(SEND_NOTIFICATION))
.booleanValue();
if (notify) {
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@lenya.apache.org
For additional commands, e-mail: commits-help@lenya.apache.org