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 2009/05/22 16:44:34 UTC

svn commit: r777550 - in /lenya/branches/BRANCH_2_0_X/src/modules/sitetree: ./ java/src/org/apache/lenya/cms/cocoon/generation/ java/src/org/apache/lenya/cms/cocoon/transformation/

Author: andreas
Date: Fri May 22 14:44:34 2009
New Revision: 777550

URL: http://svn.apache.org/viewvc?rev=777550&view=rev
Log:
Use sitetree-fragment generator instead of generating sitetree directly from file. This restores compatibility with the access-control sitetree transformer.

Modified:
    lenya/branches/BRANCH_2_0_X/src/modules/sitetree/java/src/org/apache/lenya/cms/cocoon/generation/SitetreeFragmentGenerator.java
    lenya/branches/BRANCH_2_0_X/src/modules/sitetree/java/src/org/apache/lenya/cms/cocoon/transformation/AccessControlSitetreeTransformer.java
    lenya/branches/BRANCH_2_0_X/src/modules/sitetree/sitemap.xmap

Modified: lenya/branches/BRANCH_2_0_X/src/modules/sitetree/java/src/org/apache/lenya/cms/cocoon/generation/SitetreeFragmentGenerator.java
URL: http://svn.apache.org/viewvc/lenya/branches/BRANCH_2_0_X/src/modules/sitetree/java/src/org/apache/lenya/cms/cocoon/generation/SitetreeFragmentGenerator.java?rev=777550&r1=777549&r2=777550&view=diff
==============================================================================
--- lenya/branches/BRANCH_2_0_X/src/modules/sitetree/java/src/org/apache/lenya/cms/cocoon/generation/SitetreeFragmentGenerator.java (original)
+++ lenya/branches/BRANCH_2_0_X/src/modules/sitetree/java/src/org/apache/lenya/cms/cocoon/generation/SitetreeFragmentGenerator.java Fri May 22 14:44:34 2009
@@ -79,6 +79,7 @@
     private SiteStructure site;
 
     private String path;
+    private String documentElement;
 
     private String cacheKey;
     private SourceValidity validity;
@@ -91,6 +92,12 @@
     protected static final String PARAM_INITIAL = "initial";
     protected static final String PARAM_TYPE = "mimetype";
     protected static final String PARAM_AREAS = "areas";
+    
+    /**
+     * The local name of the document element to be generated.
+     * Optional, defaults to {@link #NODE_FRAGMENT}. 
+     */
+    protected static final String PARAM_DOCUMENT_ELEMENT = "document-element";
 
     /** The URI of the namespace of this generator. */
     public static final String URI = "http://apache.org/cocoon/lenya/sitetree/1.0";
@@ -157,6 +164,12 @@
             String temp[] = { "authoring", "archive", "trash" };
             this.areas = temp;
         }
+        
+        if (par.isParameter(PARAM_DOCUMENT_ELEMENT)) {
+            this.documentElement = par.getParameter(PARAM_DOCUMENT_ELEMENT, null);
+        } else {
+            this.documentElement = NODE_FRAGMENT;
+        }
 
         if (this.getLogger().isDebugEnabled()) {
             this.getLogger().debug("Parameter area: " + area);
@@ -244,7 +257,7 @@
                 this.attributes.addAttribute("", ATTR_BASE, ATTR_BASE, "CDATA", this.path);
             }
 
-            this.contentHandler.startElement(URI, NODE_FRAGMENT, PREFIX + ':' + NODE_FRAGMENT,
+            this.contentHandler.startElement(URI, this.documentElement, PREFIX + ':' + this.documentElement,
                     this.attributes);
 
             if (this.initialTree) {
@@ -255,7 +268,7 @@
                 generateFragment();
             }
 
-            this.contentHandler.endElement(URI, NODE_FRAGMENT, PREFIX + ':' + NODE_FRAGMENT);
+            this.contentHandler.endElement(URI, this.documentElement, PREFIX + ':' + this.documentElement);
 
             this.contentHandler.endPrefixMapping(PREFIX);
             this.contentHandler.endDocument();

Modified: lenya/branches/BRANCH_2_0_X/src/modules/sitetree/java/src/org/apache/lenya/cms/cocoon/transformation/AccessControlSitetreeTransformer.java
URL: http://svn.apache.org/viewvc/lenya/branches/BRANCH_2_0_X/src/modules/sitetree/java/src/org/apache/lenya/cms/cocoon/transformation/AccessControlSitetreeTransformer.java?rev=777550&r1=777549&r2=777550&view=diff
==============================================================================
--- lenya/branches/BRANCH_2_0_X/src/modules/sitetree/java/src/org/apache/lenya/cms/cocoon/transformation/AccessControlSitetreeTransformer.java (original)
+++ lenya/branches/BRANCH_2_0_X/src/modules/sitetree/java/src/org/apache/lenya/cms/cocoon/transformation/AccessControlSitetreeTransformer.java Fri May 22 14:44:34 2009
@@ -133,15 +133,24 @@
 
         Attributes attributes = attr;
 
-        if (isFragmentElement(uri, localName)) {
-            this.pubId = attr.getValue(SitetreeFragmentGenerator.ATTR_PUBLICATION);
-            Assert.notNull("publication attribute", this.pubId);
-
-            String area = attr.getValue("area");
-            if (area != null) {
-                this.area = area;
+        if (isFragmentElement(uri, localName) || isSiteElement(uri, localName)) {
+            
+            String pubIdAttr = attr.getValue(SitetreeFragmentGenerator.ATTR_PUBLICATION);
+            if (isFragmentElement(uri, localName)) {
+                Assert.notNull(SitetreeFragmentGenerator.ATTR_PUBLICATION + " attribute", pubIdAttr);
+            }
+            if (pubIdAttr != null) {
+                this.pubId = pubIdAttr;
             }
 
+            String areaAttr = attr.getValue(SitetreeFragmentGenerator.ATTR_AREA);
+            if (isSiteElement(uri, localName)) {
+                Assert.notNull(SitetreeFragmentGenerator.ATTR_AREA + " attribute", areaAttr);
+            }
+            if (areaAttr != null) {
+                this.area = areaAttr;
+            }
+            
             String basePath = attr.getValue(SitetreeFragmentGenerator.ATTR_BASE);
             this.basePath = basePath == null ? "" : basePath;
 
@@ -154,9 +163,6 @@
                 throw new SAXException(e);
             }
 
-        } else if (isSiteElement(uri, localName)) {
-            this.area = attr.getValue("area");
-            Assert.notNull("area attribute", this.area);
         } else if (isNodeElement(uri, localName)) {
             String id = attr.getValue(SitetreeFragmentGenerator.ATTR_ID);
             Assert.notNull("id attribute", id);

Modified: lenya/branches/BRANCH_2_0_X/src/modules/sitetree/sitemap.xmap
URL: http://svn.apache.org/viewvc/lenya/branches/BRANCH_2_0_X/src/modules/sitetree/sitemap.xmap?rev=777550&r1=777549&r2=777550&view=diff
==============================================================================
--- lenya/branches/BRANCH_2_0_X/src/modules/sitetree/sitemap.xmap (original)
+++ lenya/branches/BRANCH_2_0_X/src/modules/sitetree/sitemap.xmap Fri May 22 14:44:34 2009
@@ -71,14 +71,15 @@
       <!-- sitetree -->
       <!-- pattern: sitetree/{1:pub-id}/{2:area}.xml -->
       <map:match pattern="sitetree/*/*.xml">
-        <map:select type="resource-exists">
-          <map:when test="lenya://lenya/pubs/{1}/content/{2}/sitetree.xml">
-            <map:generate src="lenya://lenya/pubs/{1}/content/{2}/sitetree.xml"/>
-          </map:when>
-          <map:otherwise>
-            <map:generate src="fallback://lenya/modules/sitetree/resources/content/emptySitetree.xml"/>
-          </map:otherwise>
-        </map:select>
+        <map:generate type="sitetree-fragment">
+          <map:parameter name="pub" value="{1}"/>
+          <map:parameter name="area" value="{2}"/>
+          <map:parameter name="areas" value="{2}"/>
+          <map:parameter name="path" value="/"/>
+          <map:parameter name="initial" value="false"/>
+          <map:parameter name="mimetype" value="false"/>
+          <map:parameter name="document-element" value="site"/>
+        </map:generate>
         <map:serialize type="xml"/>
       </map:match>
       
@@ -118,10 +119,7 @@
       <map:match pattern="*/*/sitetree.xml">
         <map:generate src="cocoon:/sitetree/{1}/{2}.xml"/>
         <map:call resource="i18n"/>
-        <map:transform type="access-control-sitetree">
-          <map:parameter name="publication-id" value="{1}"/>
-          <map:parameter name="area" value="{2}"/>
-        </map:transform>
+        <map:transform type="access-control-sitetree"/>
         <map:transform src="fallback://lenya/modules/sitetree/xslt/info/sitetree2areatree.xsl">
           <map:parameter name="area" value="{2}"/>
         </map:transform>



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


Sitetree temporarily not working correctly (was: svn commit: r777550)

Posted by Andreas Hartmann <an...@apache.org>.
Hi Lenya devs,

my latest commit had the goal to make the 
AccessControlSitetreeTranformer work properly for navigation elements, 
but there are some problems which are not yet solved. I'll take care of 
this during the weekend, the sitetree will be working again on Monday.

Sorry for the inconvenience,

-- Andreas


andreas@apache.org schrieb:
> Author: andreas
> Date: Fri May 22 14:44:34 2009
> New Revision: 777550
> 
> URL: http://svn.apache.org/viewvc?rev=777550&view=rev
> Log:
> Use sitetree-fragment generator instead of generating sitetree directly from file. This restores compatibility with the access-control sitetree transformer.
> 
> Modified:
>     lenya/branches/BRANCH_2_0_X/src/modules/sitetree/java/src/org/apache/lenya/cms/cocoon/generation/SitetreeFragmentGenerator.java
>     lenya/branches/BRANCH_2_0_X/src/modules/sitetree/java/src/org/apache/lenya/cms/cocoon/transformation/AccessControlSitetreeTransformer.java
>     lenya/branches/BRANCH_2_0_X/src/modules/sitetree/sitemap.xmap
> 
> Modified: lenya/branches/BRANCH_2_0_X/src/modules/sitetree/java/src/org/apache/lenya/cms/cocoon/generation/SitetreeFragmentGenerator.java
> URL: http://svn.apache.org/viewvc/lenya/branches/BRANCH_2_0_X/src/modules/sitetree/java/src/org/apache/lenya/cms/cocoon/generation/SitetreeFragmentGenerator.java?rev=777550&r1=777549&r2=777550&view=diff
> ==============================================================================
> --- lenya/branches/BRANCH_2_0_X/src/modules/sitetree/java/src/org/apache/lenya/cms/cocoon/generation/SitetreeFragmentGenerator.java (original)
> +++ lenya/branches/BRANCH_2_0_X/src/modules/sitetree/java/src/org/apache/lenya/cms/cocoon/generation/SitetreeFragmentGenerator.java Fri May 22 14:44:34 2009
> @@ -79,6 +79,7 @@
>      private SiteStructure site;
>  
>      private String path;
> +    private String documentElement;
>  
>      private String cacheKey;
>      private SourceValidity validity;
> @@ -91,6 +92,12 @@
>      protected static final String PARAM_INITIAL = "initial";
>      protected static final String PARAM_TYPE = "mimetype";
>      protected static final String PARAM_AREAS = "areas";
> +    
> +    /**
> +     * The local name of the document element to be generated.
> +     * Optional, defaults to {@link #NODE_FRAGMENT}. 
> +     */
> +    protected static final String PARAM_DOCUMENT_ELEMENT = "document-element";
>  
>      /** The URI of the namespace of this generator. */
>      public static final String URI = "http://apache.org/cocoon/lenya/sitetree/1.0";
> @@ -157,6 +164,12 @@
>              String temp[] = { "authoring", "archive", "trash" };
>              this.areas = temp;
>          }
> +        
> +        if (par.isParameter(PARAM_DOCUMENT_ELEMENT)) {
> +            this.documentElement = par.getParameter(PARAM_DOCUMENT_ELEMENT, null);
> +        } else {
> +            this.documentElement = NODE_FRAGMENT;
> +        }
>  
>          if (this.getLogger().isDebugEnabled()) {
>              this.getLogger().debug("Parameter area: " + area);
> @@ -244,7 +257,7 @@
>                  this.attributes.addAttribute("", ATTR_BASE, ATTR_BASE, "CDATA", this.path);
>              }
>  
> -            this.contentHandler.startElement(URI, NODE_FRAGMENT, PREFIX + ':' + NODE_FRAGMENT,
> +            this.contentHandler.startElement(URI, this.documentElement, PREFIX + ':' + this.documentElement,
>                      this.attributes);
>  
>              if (this.initialTree) {
> @@ -255,7 +268,7 @@
>                  generateFragment();
>              }
>  
> -            this.contentHandler.endElement(URI, NODE_FRAGMENT, PREFIX + ':' + NODE_FRAGMENT);
> +            this.contentHandler.endElement(URI, this.documentElement, PREFIX + ':' + this.documentElement);
>  
>              this.contentHandler.endPrefixMapping(PREFIX);
>              this.contentHandler.endDocument();
> 
> Modified: lenya/branches/BRANCH_2_0_X/src/modules/sitetree/java/src/org/apache/lenya/cms/cocoon/transformation/AccessControlSitetreeTransformer.java
> URL: http://svn.apache.org/viewvc/lenya/branches/BRANCH_2_0_X/src/modules/sitetree/java/src/org/apache/lenya/cms/cocoon/transformation/AccessControlSitetreeTransformer.java?rev=777550&r1=777549&r2=777550&view=diff
> ==============================================================================
> --- lenya/branches/BRANCH_2_0_X/src/modules/sitetree/java/src/org/apache/lenya/cms/cocoon/transformation/AccessControlSitetreeTransformer.java (original)
> +++ lenya/branches/BRANCH_2_0_X/src/modules/sitetree/java/src/org/apache/lenya/cms/cocoon/transformation/AccessControlSitetreeTransformer.java Fri May 22 14:44:34 2009
> @@ -133,15 +133,24 @@
>  
>          Attributes attributes = attr;
>  
> -        if (isFragmentElement(uri, localName)) {
> -            this.pubId = attr.getValue(SitetreeFragmentGenerator.ATTR_PUBLICATION);
> -            Assert.notNull("publication attribute", this.pubId);
> -
> -            String area = attr.getValue("area");
> -            if (area != null) {
> -                this.area = area;
> +        if (isFragmentElement(uri, localName) || isSiteElement(uri, localName)) {
> +            
> +            String pubIdAttr = attr.getValue(SitetreeFragmentGenerator.ATTR_PUBLICATION);
> +            if (isFragmentElement(uri, localName)) {
> +                Assert.notNull(SitetreeFragmentGenerator.ATTR_PUBLICATION + " attribute", pubIdAttr);
> +            }
> +            if (pubIdAttr != null) {
> +                this.pubId = pubIdAttr;
>              }
>  
> +            String areaAttr = attr.getValue(SitetreeFragmentGenerator.ATTR_AREA);
> +            if (isSiteElement(uri, localName)) {
> +                Assert.notNull(SitetreeFragmentGenerator.ATTR_AREA + " attribute", areaAttr);
> +            }
> +            if (areaAttr != null) {
> +                this.area = areaAttr;
> +            }
> +            
>              String basePath = attr.getValue(SitetreeFragmentGenerator.ATTR_BASE);
>              this.basePath = basePath == null ? "" : basePath;
>  
> @@ -154,9 +163,6 @@
>                  throw new SAXException(e);
>              }
>  
> -        } else if (isSiteElement(uri, localName)) {
> -            this.area = attr.getValue("area");
> -            Assert.notNull("area attribute", this.area);
>          } else if (isNodeElement(uri, localName)) {
>              String id = attr.getValue(SitetreeFragmentGenerator.ATTR_ID);
>              Assert.notNull("id attribute", id);
> 
> Modified: lenya/branches/BRANCH_2_0_X/src/modules/sitetree/sitemap.xmap
> URL: http://svn.apache.org/viewvc/lenya/branches/BRANCH_2_0_X/src/modules/sitetree/sitemap.xmap?rev=777550&r1=777549&r2=777550&view=diff
> ==============================================================================
> --- lenya/branches/BRANCH_2_0_X/src/modules/sitetree/sitemap.xmap (original)
> +++ lenya/branches/BRANCH_2_0_X/src/modules/sitetree/sitemap.xmap Fri May 22 14:44:34 2009
> @@ -71,14 +71,15 @@
>        <!-- sitetree -->
>        <!-- pattern: sitetree/{1:pub-id}/{2:area}.xml -->
>        <map:match pattern="sitetree/*/*.xml">
> -        <map:select type="resource-exists">
> -          <map:when test="lenya://lenya/pubs/{1}/content/{2}/sitetree.xml">
> -            <map:generate src="lenya://lenya/pubs/{1}/content/{2}/sitetree.xml"/>
> -          </map:when>
> -          <map:otherwise>
> -            <map:generate src="fallback://lenya/modules/sitetree/resources/content/emptySitetree.xml"/>
> -          </map:otherwise>
> -        </map:select>
> +        <map:generate type="sitetree-fragment">
> +          <map:parameter name="pub" value="{1}"/>
> +          <map:parameter name="area" value="{2}"/>
> +          <map:parameter name="areas" value="{2}"/>
> +          <map:parameter name="path" value="/"/>
> +          <map:parameter name="initial" value="false"/>
> +          <map:parameter name="mimetype" value="false"/>
> +          <map:parameter name="document-element" value="site"/>
> +        </map:generate>
>          <map:serialize type="xml"/>
>        </map:match>
>        
> @@ -118,10 +119,7 @@
>        <map:match pattern="*/*/sitetree.xml">
>          <map:generate src="cocoon:/sitetree/{1}/{2}.xml"/>
>          <map:call resource="i18n"/>
> -        <map:transform type="access-control-sitetree">
> -          <map:parameter name="publication-id" value="{1}"/>
> -          <map:parameter name="area" value="{2}"/>
> -        </map:transform>
> +        <map:transform type="access-control-sitetree"/>
>          <map:transform src="fallback://lenya/modules/sitetree/xslt/info/sitetree2areatree.xsl">
>            <map:parameter name="area" value="{2}"/>
>          </map:transform>


-- 
Andreas Hartmann, CTO
BeCompany GmbH
http://www.becompany.ch
Tel.: +41 (0) 43 818 57 01


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