You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@cocoon.apache.org by sy...@apache.org on 2005/04/12 17:54:00 UTC
svn commit: r161066 -
cocoon/trunk/src/java/org/apache/cocoon/components/treeprocessor/TreeProcessor.java
cocoon/trunk/status.xml
Author: sylvain
Date: Tue Apr 12 08:53:58 2005
New Revision: 161066
URL: http://svn.apache.org/viewcvs?view=rev&rev=161066
Log:
allow root sitemap to be elsewhere than in webapp context dir
Modified:
cocoon/trunk/src/java/org/apache/cocoon/components/treeprocessor/TreeProcessor.java
cocoon/trunk/status.xml
Modified: cocoon/trunk/src/java/org/apache/cocoon/components/treeprocessor/TreeProcessor.java
URL: http://svn.apache.org/viewcvs/cocoon/trunk/src/java/org/apache/cocoon/components/treeprocessor/TreeProcessor.java?view=diff&r1=161065&r2=161066
==============================================================================
--- cocoon/trunk/src/java/org/apache/cocoon/components/treeprocessor/TreeProcessor.java (original)
+++ cocoon/trunk/src/java/org/apache/cocoon/components/treeprocessor/TreeProcessor.java Tue Apr 12 08:53:58 2005
@@ -80,9 +80,6 @@
/** Delay for <code>sourceLastModified</code>. */
protected long lastModifiedDelay;
- /** The file to process */
- protected String fileName;
-
/** Check for reload? */
protected boolean checkReload;
@@ -210,7 +207,7 @@
*/
public void configure(Configuration config)
throws ConfigurationException {
- this.fileName = config.getAttribute("file", null);
+
this.checkReload = config.getAttributeAsBoolean("check-reload", true);
// Obtain the configuration file, or use the XCONF_URL if none
@@ -220,6 +217,14 @@
// Reload check delay. Default is 1 second.
this.lastModifiedDelay = config.getChild("reload").getAttributeAsLong("delay", 1000L);
+ String fileName = config.getAttribute("file", "sitemap.xmap");
+
+ try {
+ this.source = new DelayedRefreshSourceWrapper(this.resolver.resolveURI(fileName), lastModifiedDelay);
+ } catch (Exception e) {
+ throw new ConfigurationException("Cannot resolve " + fileName, e);
+ }
+
// Read the builtin languages definition file
try {
Source source = this.resolver.resolveURI(xconfURL);
@@ -346,7 +351,12 @@
* Sets up the concrete processor, building or rebuilding it if necessary.
*/
private void setupConcreteProcessor(Environment env) throws Exception {
- // first, check for sitemap changes
+
+ if (this.parent == null) {
+ // Ensure root sitemap uses the correct context, even if not located in the webapp context
+ this.environmentHelper.changeContext(this.source, "");
+ }
+
if (this.concreteProcessor == null || this.concreteProcessor.isReloadNeeded() ||
(this.checkReload && this.source.getLastModified() != this.lastModified)) {
buildConcreteProcessor(env);
@@ -380,14 +390,6 @@
EnvironmentHelper.enterProcessor(this, this.manager, env);
try {
- // Load the sitemap file
- if (this.fileName == null) {
- this.fileName = "sitemap.xmap";
- }
- if (this.source == null) {
- this.source = new DelayedRefreshSourceWrapper(this.resolver.resolveURI(this.fileName),
- lastModifiedDelay);
- }
// Build a namespace-aware configuration object
NamespacedSAXConfigurationHandler handler = new NamespacedSAXConfigurationHandler();
Modified: cocoon/trunk/status.xml
URL: http://svn.apache.org/viewcvs/cocoon/trunk/status.xml?view=diff&r1=161065&r2=161066
==============================================================================
--- cocoon/trunk/status.xml (original)
+++ cocoon/trunk/status.xml Tue Apr 12 08:53:58 2005
@@ -426,6 +426,10 @@
</action>
</release>
<release version="2.1.8" date="TBD">
+ <action dev="SW" type="fix">
+ Fix environment handling to allow the root sitemap to be at an abitrary location
+ and not only in the main webapp context directory.
+ </action>
<action dev="VG" type="fix">
Updated excalibur-pool to 2.0.0, excalibur-datasource to 1.2.0.
Fixes problem of database connections pools not coming up after