You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@cocoon.apache.org by un...@apache.org on 2003/12/01 23:36:01 UTC

cvs commit: cocoon-2.2/src/java/org/apache/cocoon/components/treeprocessor sitemap2xconf.xsl

unico       2003/12/01 14:36:01

  Modified:    src/java/org/apache/cocoon/components/treeprocessor/sitemap
                        ViewRegistry.java ViewRegistryImpl.java
               src/test/org/apache/cocoon/components/treeprocessor/sitemap
                        ViewRegistryTestCase.java
               src/java/org/apache/cocoon/components/treeprocessor
                        sitemap2xconf.xsl
  Log:
  transparent sitemap role identification
  
  Revision  Changes    Path
  1.3       +2 -2      cocoon-2.2/src/java/org/apache/cocoon/components/treeprocessor/sitemap/ViewRegistry.java
  
  Index: ViewRegistry.java
  ===================================================================
  RCS file: /home/cvs/cocoon-2.2/src/java/org/apache/cocoon/components/treeprocessor/sitemap/ViewRegistry.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- ViewRegistry.java	1 Dec 2003 22:05:49 -0000	1.2
  +++ ViewRegistry.java	1 Dec 2003 22:36:01 -0000	1.3
  @@ -66,10 +66,10 @@
        * collection, the statement can directly branch to the view-handling node.
        *
        * @param role the component role (e.g. <code>Generator.ROLE</code>)
  -     * @param componenId the lookup id of the sitemap component (e.g. <code>file-generator</code>).
  +     * @param componenId the component hint, i.e. the 'type' attribute (e.g. <code>file</code>).
        * @param statement the sitemap statement
        * @return the view names for this statement
        */
  -    Collection getViewsForStatement(String role, String componentId, Configuration statement);
  +    Collection getViewsForStatement(String role, String hint, Configuration statement);
       
   }
  
  
  
  1.3       +12 -1     cocoon-2.2/src/java/org/apache/cocoon/components/treeprocessor/sitemap/ViewRegistryImpl.java
  
  Index: ViewRegistryImpl.java
  ===================================================================
  RCS file: /home/cvs/cocoon-2.2/src/java/org/apache/cocoon/components/treeprocessor/sitemap/ViewRegistryImpl.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- ViewRegistryImpl.java	1 Dec 2003 22:05:49 -0000	1.2
  +++ ViewRegistryImpl.java	1 Dec 2003 22:36:01 -0000	1.3
  @@ -65,6 +65,7 @@
   import org.apache.avalon.framework.logger.AbstractLogEnabled;
   import org.apache.cocoon.generation.Generator;
   import org.apache.cocoon.serialization.Serializer;
  +import org.apache.cocoon.transformation.Transformer;
   import org.apache.cocoon.util.StringUtils;
   import org.apache.cocoon.xml.LocationAugmentationPipe;
   
  @@ -98,6 +99,14 @@
       private static final String FROM_LABEL_ATTR = "from-label";
       private static final String FROM_POSITION_ATTR = "from-position";
       
  +    
  +    private static final Map ROLE2ID_SUFFIX = new HashMap(3);
  +    static {
  +        ROLE2ID_SUFFIX.put(Generator.ROLE,"-generator");
  +        ROLE2ID_SUFFIX.put(Transformer.ROLE,"-transformer");
  +        ROLE2ID_SUFFIX.put(Serializer.ROLE,"-serializer");
  +    }
  +    
       // component ids -> labels
       private Map m_componentLabels;
       
  @@ -142,13 +151,15 @@
       
       // ---------------------------------------------------- ViewRegistry implementation
       
  -    public Collection getViewsForStatement(String role, String componentId, Configuration statement) {
  +    public Collection getViewsForStatement(String role, String hint, Configuration statement) {
           
           // Compute the views attached to this component
           Set views = null;
   
           // Build the set of all labels for this statement
           Set labels = new HashSet();
  +        
  +        String componentId = hint + ROLE2ID_SUFFIX.get(role);
           
           // 1 - labels defined on the component
           Collection componentLabels = (Collection) m_componentLabels.get(componentId);
  
  
  
  1.2       +9 -3      cocoon-2.2/src/test/org/apache/cocoon/components/treeprocessor/sitemap/ViewRegistryTestCase.java
  
  Index: ViewRegistryTestCase.java
  ===================================================================
  RCS file: /home/cvs/cocoon-2.2/src/test/org/apache/cocoon/components/treeprocessor/sitemap/ViewRegistryTestCase.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- ViewRegistryTestCase.java	1 Dec 2003 22:04:53 -0000	1.1
  +++ ViewRegistryTestCase.java	1 Dec 2003 22:36:01 -0000	1.2
  @@ -71,18 +71,24 @@
       public void testGetViewForStatement() throws Exception {
           ViewRegistry vr = (ViewRegistry) super.lookup(ViewRegistry.class.getName());
           
  -        Collection views = vr.getViewsForStatement(Generator.ROLE, "some-generator", createEmptyStatement());
  +        Collection views = vr.getViewsForStatement(Generator.ROLE, "some", createEmptyStatement());
  +        assertTrue(views != null);
           assertTrue(views.size() == 3);
           assertTrue(views.contains("firstview"));
           assertTrue(views.contains("gen1view"));
           assertTrue(views.contains("gen2view"));
           
  -        views = vr.getViewsForStatement(Transformer.ROLE, "some-transformer", createLabeledStatement("trans2"));
  +        views = vr.getViewsForStatement(Transformer.ROLE, "some", createLabeledStatement("trans2"));
  +        assertTrue(views != null);        
           assertTrue(views.size() == 2);
           assertTrue(views.contains("trans1view"));
           assertTrue(views.contains("trans2view"));
  +        
  +        views = vr.getViewsForStatement(Transformer.ROLE, "someother", createEmptyStatement());
  +        assertTrue(views == null);
   
  -        views = vr.getViewsForStatement(Serializer.ROLE, "some-serializer", createEmptyStatement());
  +        views = vr.getViewsForStatement(Serializer.ROLE, "some", createEmptyStatement());
  +        assertTrue(views != null);
           assertTrue(views.size() == 1);
           assertTrue(views.contains("lastview"));
       }
  
  
  
  1.4       +2 -4      cocoon-2.2/src/java/org/apache/cocoon/components/treeprocessor/sitemap2xconf.xsl
  
  Index: sitemap2xconf.xsl
  ===================================================================
  RCS file: /home/cvs/cocoon-2.2/src/java/org/apache/cocoon/components/treeprocessor/sitemap2xconf.xsl,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- sitemap2xconf.xsl	30 Nov 2003 21:16:15 -0000	1.3
  +++ sitemap2xconf.xsl	1 Dec 2003 22:36:01 -0000	1.4
  @@ -10,10 +10,8 @@
       <sitemap>
         <xsl:apply-templates select="map:components|map:views|map:resources|map:action-sets|map:pipelines"/>
         <view-registry id="default">
  -        <xsl:for-each select="/map:sitemap/map:components/*/*">
  -          <xsl:if test="@label">
  -            <component id-ref="{@name}-{local-name()}" label="{@label}" />
  -          </xsl:if>
  +        <xsl:for-each select="/map:sitemap/map:components/*/*[@label]">
  +          <component id-ref="{@name}-{local-name()}" label="{@label}" />
           </xsl:for-each>
           <xsl:for-each select="/map:sitemap/map:views/*">
             <view id-ref="v-{position()}">