svn commit: r1305170 - /lenya/branches/BRANCH_2_1_X/src/impl/java/org/apache/lenya/cms/publication/DocumentImpl.java

[email protected] Sun, 25 Mar 2012 23:09:23 -0000
Newsgroups gmane.comp.cms.lenya.cvs
Message-ID <[email protected]>
Author: andreas
Date: Sun Mar 25 23:09:23 2012
New Revision: 1305170

URL: http://svn.apache.org/viewvc?rev=1305170&view=rev
Log:
Append non-default extension to document URL.

Modified:
    lenya/branches/BRANCH_2_1_X/src/impl/java/org/apache/lenya/cms/publication/DocumentImpl.java

Modified: lenya/branches/BRANCH_2_1_X/src/impl/java/org/apache/lenya/cms/publication/DocumentImpl.java
URL: http://svn.apache.org/viewvc/lenya/branches/BRANCH_2_1_X/src/impl/java/org/apache/lenya/cms/publication/DocumentImpl.java?rev=1305170&r1=1305169&r2=1305170&view=diff
==============================================================================
--- lenya/branches/BRANCH_2_1_X/src/impl/java/org/apache/lenya/cms/publication/DocumentImpl.java (original)
+++ lenya/branches/BRANCH_2_1_X/src/impl/java/org/apache/lenya/cms/publication/DocumentImpl.java Sun Mar 25 23:09:23 2012
@@ -389,9 +389,14 @@ public class DocumentImpl extends Abstra
     public String getCanonicalDocumentURL() {
         try {
             DocumentBuilder builder = getPublication().getDocumentBuilder();
-            String webappUrl = builder.buildCanonicalUrl(getFactory(), getLocator());
-            String prefix = "/" + getPublication().getId() + "/" + getArea();
-            return webappUrl.substring(prefix.length());
+            final String webappUrl = builder.buildCanonicalUrl(getFactory(), getLocator());
+            final String prefix = "/" + getPublication().getId() + "/" + getArea();
+            String url = webappUrl.substring(prefix.length());
+            final String sourceExt = getSourceExtension();
+            if (!sourceExt.equals("xml") && !sourceExt.equals("")) {
+                url = url + "." + sourceExt;
+            }
+            return url;
         } catch (Exception e) {
             throw new RuntimeException(e);
         }