You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@lenya.apache.org by Andreas Hartmann <an...@apache.org> on 2009/05/22 23:30:51 UTC

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

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