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 2007/02/19 14:57:47 UTC

svn commit: r509203 - in /lenya/trunk/src/modules-core/linking/java/src/org/apache/lenya/cms/cocoon/transformation: UrlToUuidTransformer.java UuidToUrlTransformer.java

Author: andreas
Date: Mon Feb 19 05:57:47 2007
New Revision: 509203

URL: http://svn.apache.org/viewvc?view=rev&rev=509203
Log:
Add context path to references to static images, see bug 41499

Modified:
    lenya/trunk/src/modules-core/linking/java/src/org/apache/lenya/cms/cocoon/transformation/UrlToUuidTransformer.java
    lenya/trunk/src/modules-core/linking/java/src/org/apache/lenya/cms/cocoon/transformation/UuidToUrlTransformer.java

Modified: lenya/trunk/src/modules-core/linking/java/src/org/apache/lenya/cms/cocoon/transformation/UrlToUuidTransformer.java
URL: http://svn.apache.org/viewvc/lenya/trunk/src/modules-core/linking/java/src/org/apache/lenya/cms/cocoon/transformation/UrlToUuidTransformer.java?view=diff&rev=509203&r1=509202&r2=509203
==============================================================================
--- lenya/trunk/src/modules-core/linking/java/src/org/apache/lenya/cms/cocoon/transformation/UrlToUuidTransformer.java (original)
+++ lenya/trunk/src/modules-core/linking/java/src/org/apache/lenya/cms/cocoon/transformation/UrlToUuidTransformer.java Mon Feb 19 05:57:47 2007
@@ -163,6 +163,17 @@
                                 rewriteLink(newAttrs, UuidToUrlTransformer.attributeNames[i],
                                         targetDocument, anchor, queryString);
                             }
+                            else {
+                                /*
+                                 * This is legacy code. It rewrites links to
+                                 * non-document images (in resources/shared). These
+                                 * images shouldn't be referenced in documents since
+                                 * this violates the separation between content and
+                                 * layout.
+                                 */
+                                String newUrl = completeUrl.substring(this.contextPath.length());
+                                setAttribute(newAttrs, UuidToUrlTransformer.attributeNames[i], newUrl);
+                            }
                         }
 
                     } catch (final Exception e) {

Modified: lenya/trunk/src/modules-core/linking/java/src/org/apache/lenya/cms/cocoon/transformation/UuidToUrlTransformer.java
URL: http://svn.apache.org/viewvc/lenya/trunk/src/modules-core/linking/java/src/org/apache/lenya/cms/cocoon/transformation/UuidToUrlTransformer.java?view=diff&rev=509203&r1=509202&r2=509203
==============================================================================
--- lenya/trunk/src/modules-core/linking/java/src/org/apache/lenya/cms/cocoon/transformation/UuidToUrlTransformer.java (original)
+++ lenya/trunk/src/modules-core/linking/java/src/org/apache/lenya/cms/cocoon/transformation/UuidToUrlTransformer.java Mon Feb 19 05:57:47 2007
@@ -91,6 +91,7 @@
 
     private DocumentFactory factory;
     private LinkResolver linkResolver;
+    private String contextPath;
 
     /**
      * @see org.apache.cocoon.sitemap.SitemapModelComponent#setup(org.apache.cocoon.environment.SourceResolver,
@@ -102,6 +103,7 @@
         super.setup(_resolver, _objectModel, _source, _parameters);
 
         Request _request = ObjectModelHelper.getRequest(_objectModel);
+        this.contextPath = _request.getContextPath();
 
         try {
             Session session = RepositoryUtil.getSession(this.manager, _request);
@@ -222,6 +224,24 @@
                                 markBrokenLink(newAttrs, attributeNames[i], linkUrl);
                             } else {
                                 this.ignoreLinkElement = true;
+                            }
+                        } else {
+                            /*
+                             * This is legacy code. It rewrites links to
+                             * non-document images (in resources/shared). These
+                             * images shouldn't be referenced in documents since
+                             * this violates the separation between content and
+                             * layout.
+                             */
+                            String prefix = "/" + this.currentDocument.getPublication().getId()
+                                    + "/";
+                            if (linkUrl.startsWith(prefix)) {
+                                String pubUrl = linkUrl.substring(prefix.length());
+                                String area = pubUrl.split("/")[0];
+                                String areaUrl = pubUrl.substring(area.length());
+                                String newUrl = this.contextPath + prefix
+                                        + this.currentDocument.getArea() + areaUrl;
+                                setAttribute(newAttrs, attributeNames[i], newUrl);
                             }
                         }
 



---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@lenya.apache.org
For additional commands, e-mail: commits-help@lenya.apache.org