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 2012/01/13 17:24:48 UTC
svn commit: r1231160 - in /lenya/branches/BRANCH_2_1_X/src:
java/org/apache/lenya/cms/publication/DefaultDocumentBuilder.java
webapp/lenya/config/cocoon-xconf/misc/document-builders.xconf
Author: andreas
Date: Fri Jan 13 16:24:48 2012
New Revision: 1231160
URL: http://svn.apache.org/viewvc?rev=1231160&view=rev
Log:
Allow to parameterize the DefaultDocumentBuilder URI extension.
Modified:
lenya/branches/BRANCH_2_1_X/src/java/org/apache/lenya/cms/publication/DefaultDocumentBuilder.java
lenya/branches/BRANCH_2_1_X/src/webapp/lenya/config/cocoon-xconf/misc/document-builders.xconf
Modified: lenya/branches/BRANCH_2_1_X/src/java/org/apache/lenya/cms/publication/DefaultDocumentBuilder.java
URL: http://svn.apache.org/viewvc/lenya/branches/BRANCH_2_1_X/src/java/org/apache/lenya/cms/publication/DefaultDocumentBuilder.java?rev=1231160&r1=1231159&r2=1231160&view=diff
==============================================================================
--- lenya/branches/BRANCH_2_1_X/src/java/org/apache/lenya/cms/publication/DefaultDocumentBuilder.java (original)
+++ lenya/branches/BRANCH_2_1_X/src/java/org/apache/lenya/cms/publication/DefaultDocumentBuilder.java Fri Jan 13 16:24:48 2012
@@ -19,6 +19,9 @@
package org.apache.lenya.cms.publication;
import org.apache.avalon.framework.logger.AbstractLogEnabled;
+import org.apache.avalon.framework.parameters.ParameterException;
+import org.apache.avalon.framework.parameters.Parameterizable;
+import org.apache.avalon.framework.parameters.Parameters;
import org.apache.avalon.framework.service.ServiceManager;
import org.apache.avalon.framework.service.Serviceable;
import org.apache.avalon.framework.thread.ThreadSafe;
@@ -30,7 +33,12 @@ import org.apache.lenya.cms.site.SiteNod
* @version $Id$
*/
public class DefaultDocumentBuilder extends AbstractLogEnabled implements DocumentBuilder,
- Serviceable, ThreadSafe {
+ Serviceable, ThreadSafe, Parameterizable {
+
+ /**
+ * The extension, optionally including the leading dot. Defaults to ".html".
+ */
+ private static final String PARAM_EXTENSION = "extension";
/**
* Ctor.
@@ -46,6 +54,7 @@ public class DefaultDocumentBuilder exte
}
protected ServiceManager manager;
+ private String extension;
/**
* Removes all "."-separated extensions from a URL (e.g.,
@@ -144,7 +153,7 @@ public class DefaultDocumentBuilder exte
languageSuffix = "_" + language;
}
- return locator.getPath() + languageSuffix + ".html";
+ return locator.getPath() + languageSuffix + this.extension;
}
public String buildCanonicalUrl(DocumentFactory factory, DocumentLocator doc) {
@@ -219,4 +228,10 @@ public class DefaultDocumentBuilder exte
return documentName.matches("[a-zA-Z0-9\\-]+");
}
+ @Override
+ public void parameterize(final Parameters params) throws ParameterException {
+ final String ext = params.getParameter(PARAM_EXTENSION, "html");
+ this.extension = "".equals(ext) || ext.startsWith(".") ? ext : "." + ext;
+ }
+
}
Modified: lenya/branches/BRANCH_2_1_X/src/webapp/lenya/config/cocoon-xconf/misc/document-builders.xconf
URL: http://svn.apache.org/viewvc/lenya/branches/BRANCH_2_1_X/src/webapp/lenya/config/cocoon-xconf/misc/document-builders.xconf?rev=1231160&r1=1231159&r2=1231160&view=diff
==============================================================================
--- lenya/branches/BRANCH_2_1_X/src/webapp/lenya/config/cocoon-xconf/misc/document-builders.xconf (original)
+++ lenya/branches/BRANCH_2_1_X/src/webapp/lenya/config/cocoon-xconf/misc/document-builders.xconf Fri Jan 13 16:24:48 2012
@@ -25,5 +25,9 @@
<document-builders>
<component-instance name="default" logger="lenya.publication"
class="org.apache.lenya.cms.publication.DefaultDocumentBuilder"/>
+ <component-instance name="no-extension" logger="lenya.publication"
+ class="org.apache.lenya.cms.publication.DefaultDocumentBuilder">
+ <parameter name="extension" value=""/>
+ </component>
</document-builders>
</xconf>
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@lenya.apache.org
For additional commands, e-mail: commits-help@lenya.apache.org