Hi,

do we really need an explicit "debug" statement, like
"<map:dump-parameters/>"?
I think we shouldn't extend the sitemap language in this way. The next
thing people ask for is to have a <map:dump-components> and so on.
Why not simply always debugging it, if the log level is debug?

The other thing is, we are very short before the next release, so we
should change is less as possible. Bug fixes are of course always
acceptable.

Carsten


> -----Original Message-----
> From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]]
> Sent: Monday, November 26, 2001 10:20 AM
> To: [EMAIL PROTECTED]
> Subject: cvs commit:
> xml-cocoon2/src/org/apache/cocoon/components/language/markup/sitemap/jav
> a sitemap.xsl
>
>
> haul        01/11/26 01:19:51
>
>   Modified:    webapp   sitemap.xmap
>                src/org/apache/cocoon/sitemap AbstractSitemap.java
>                src/org/apache/cocoon/matching
>                         WildcardSessionAttributeMatcher.java
>                src/org/apache/cocoon/matching/helpers WildcardHelper.java
>                         WildcardURIMatcher.java
>
> src/org/apache/cocoon/components/language/markup/sitemap/java
>                         sitemap.xsl
>   Log:
>   - Fixed stateful examples
>   - WildcardSessionAttributeMatcher hasn't declared to implement
> configurable (fixed)
>   - Added complete string in {0} for Wildcard(URI)?Matcher in
> addition to matches in {1}...
>   - Added <map:dump-parameters/> in sitemap + method in
> AbstractSitemap to print out current
>     sitemap parameters to log. Nice for debugging sitemaps + educational.
>
>   Revision  Changes    Path
>   1.63      +29 -14    xml-cocoon2/webapp/sitemap.xmap
>
>   Index: sitemap.xmap
>   ===================================================================
>   RCS file: /home/cvs/xml-cocoon2/webapp/sitemap.xmap,v
>   retrieving revision 1.62
>   retrieving revision 1.63
>   diff -u -r1.62 -r1.63
>   --- sitemap.xmap    2001/11/23 09:25:55     1.62
>   +++ sitemap.xmap    2001/11/26 09:19:51     1.63
>   @@ -143,7 +143,7 @@
>      necessity, matchers can be nested while chaining does not work.
>      Related concepts are selectors and actions.
>
>   -  Since this is important, let me repeat it: Selectors are executed
>   +  Since this is important, let me repeat it: Matchers are executed
>      during pipeline setup.
>    -->
>
>   @@ -203,7 +203,11 @@
>      pipelines. Use them to update databases, check external resources
>      etc. The execution may fail or complete successfully. Only if the
>      execution was successful, the pipeline fragment contained inside is
>   -  used within the pipeline.
>   +  used within the pipeline. Related concepts are matchers and
>   +  selectors.
>   +
>   +  Since this is important, let me repeat it: Actions are executed
>   +  during pipeline setup.
>    -->
>
>      <map:actions>
>   @@ -268,9 +272,20 @@
>      </map:resource>
>
>      <map:resource name="dynamic-page1">
>   +     <map:dump-parameters/>
>   +     <!-- print all current sitemap parameters to log -->
>         <map:act type="session-state">
>   -        <map:parameter name="new-state" value="{../next-state}"/>
>   -        <map:redirect-to resource="dynamic-page"
> target="{../target}/state{../../../org.apache.cocoon.SessionState}
> {../../next-state}"/>
>   +        <map:parameter name="new-state" value="{../0}"/>
>   +        <!--
>   +           use the complete string that was matched as a
> parameter. Compare
>   +           this with @target below. There the third sitemap
> parameter refers to
>   +           the very same string. Very this by looking at the log. This
>   +           irritating effect stems from the fact, that the
> above map:parameter
>   +           belongs conceptually still to the parent element
> while all other
>   +           nested tags are, well, nested.
>   +        -->
>   +          <map:dump-parameters/>
>   +        <map:redirect-to resource="dynamic-page"
> target="{../target}/state{../../../0}{../../0}"/>
>         </map:act>
>      </map:resource>
>
>   @@ -332,7 +347,7 @@
>
>      You may have as many pipelines in your sitemap as you like. However,
>      it seems that the only purposes would be to specify different error
>   -  handlers or mount subsitemaps.
>   +  handlers.
>    -->
>
>     <map:pipelines>
>   @@ -770,6 +785,7 @@
>
>       <!-- =========================== Dynamic
> ================================ -->
>       <map:match pattern="xsp/*">
>   +    <map:dump-parameters/>
>        <map:generate type="serverpages" src="docs/samples/xsp/{1}.xsp"/>
>        <map:transform src="stylesheets/dynamic-page2html.xsl">
>            <map:parameter name="view-source"
> value="docs/samples/xsp/{1}.xsp"/>
>   @@ -866,32 +882,31 @@
>          <!--
>             This example like the next one show, that matches can be
>             nested and don't need to match on URIs alone. By using a
>   -    session attribute or the referer header for matches it is
>   +         session attribute or the referer header for matches it is
>             easy to model a state machine with the sitemap.
>
>   -    There are user documents on this.
>   +         There are user documents on this.
>          -->
>          <map:act type="session-isvalid">
>            <!-- if session is valid ... -->
>
>            <map:match type="sessionstate" pattern="1">
>   -      <!-- if a specific session attribute matches pattern "1" -->
>   +           <!-- if a specific session attribute matches pattern "1" -->
>               <map:match type="next-page" pattern="1">
>   -                 <map:redirect-to resource="dynamic-page1"
> target="docs/samples/session-state"/>
>   -                 <!-- by redirecting to this resource, the rest
>   -                      of this fragment here is irrelevant -->
>   +              <map:redirect-to resource="dynamic-page1"
> target="docs/samples/session-state"/>
>   +              <!-- by redirecting to this resource, the rest
> of this fragment here is irrelevant -->
>               </map:match>
>               <map:match type="next-page" pattern="2">
>   -                 <map:redirect-to resource="dynamic-page1"
> target="docs/samples/session-state"/>
>   +              <map:redirect-to resource="dynamic-page1"
> target="docs/samples/session-state"/>
>               </map:match>
>            </map:match>
>
>            <map:match type="sessionstate" pattern="2">
>               <map:match type="next-page" pattern="1">
>   -                 <map:redirect-to resource="dynamic-page1"
> target="docs/samples/session-state"/>
>   +              <map:redirect-to resource="dynamic-page1"
> target="docs/samples/session-state"/>
>               </map:match>
>               <map:match type="next-page" pattern="2">
>   -                 <map:redirect-to resource="dynamic-page1"
> target="docs/samples/session-state"/>
>   +              <map:redirect-to resource="dynamic-page1"
> target="docs/samples/session-state"/>
>               </map:match>
>            </map:match>
>
>
>
>
>   1.20      +27 -1
> xml-cocoon2/src/org/apache/cocoon/sitemap/AbstractSitemap.java
>
>   Index: AbstractSitemap.java
>   ===================================================================
>   RCS file:
> /home/cvs/xml-cocoon2/src/org/apache/cocoon/sitemap/AbstractSitemap.java,v
>   retrieving revision 1.19
>   retrieving revision 1.20
>   diff -u -r1.19 -r1.20
>   --- AbstractSitemap.java    2001/10/11 07:28:23     1.19
>   +++ AbstractSitemap.java    2001/11/26 09:19:51     1.20
>   @@ -42,12 +42,13 @@
>    import java.util.ArrayList;
>    import java.util.List;
>    import java.util.Map;
>   +import java.util.Iterator;
>
>    /**
>     * Base class for generated <code>Sitemap</code> classes
>     *
>     * @author <a href="mailto:[EMAIL PROTECTED]";>Giacomo Pati</a>
>   - * @version CVS $Revision: 1.19 $ $Date: 2001/10/11 07:28:23 $
>   + * @version CVS $Revision: 1.20 $ $Date: 2001/11/26 09:19:51 $
>     */
>    public abstract class AbstractSitemap extends AbstractLoggable
> implements Sitemap, Disposable, ThreadSafe {
>        private Context context;
>   @@ -319,6 +320,31 @@
>                getLogger().error("AbstractSitemap:substitute()", e);
>                throw new PatternException("error occurred during
> evaluation of expression \"" + expr + "\" at position " +
>                    (i + 1) + "\n" + e.getMessage());
>   +        }
>   +    }
>   +
>   +    /**
>   +     * Dumps all sitemap parameters to log
>   +     */
>   +    protected void dumpParameters(List list) {
>   +        if (getLogger().isDebugEnabled()) {
>   +            StringBuffer sb=new StringBuffer();
>   +            if (!list.isEmpty()) {
>   +                sb.append("\nCurrent Sitemap Parameters:\n");
>   +                String path="";
>   +                for (int i=list.size()-1; i>=0; i--) {
>   +                    Map map=(Map)list.get(i);
>   +                    Iterator keys = map.keySet().iterator();
>   +                    while (keys.hasNext()) {
>   +                        String key = (String)keys.next();
>   +                        sb.append(path)
>   +                            .append("PARAM: '").append(key)
>   +                            .append("' VALUE:
> '").append(map.get(key)).append("'\n");
>   +                    }
>   +                    path="../"+path;
>   +                }
>   +            }
>   +            getLogger().debug(sb.toString());
>            }
>        }
>
>
>
>
>   1.3       +6 -2
> xml-cocoon2/src/org/apache/cocoon/matching/WildcardSessionAttribut
> eMatcher.java
>
>   Index: WildcardSessionAttributeMatcher.java
>   ===================================================================
>   RCS file:
> /home/cvs/xml-cocoon2/src/org/apache/cocoon/matching/WildcardSessi
> onAttributeMatcher.java,v
>   retrieving revision 1.2
>   retrieving revision 1.3
>   diff -u -r1.2 -r1.3
>   --- WildcardSessionAttributeMatcher.java    2001/10/22 10:17:46     1.2
>   +++ WildcardSessionAttributeMatcher.java    2001/11/26 09:19:51     1.3
>   @@ -26,15 +26,19 @@
>     *
>     * @author <a
> href="mailto:[EMAIL PROTECTED]";>Christian Haul</a>
>     * @author <a href="mailto:[EMAIL PROTECTED]";>Sylvain Wallez</a>
>   - * @version CVS $Revision: 1.2 $ $Date: 2001/10/22 10:17:46 $
>   + * @version CVS $Revision: 1.3 $ $Date: 2001/11/26 09:19:51 $
>     */
>
>   -public class WildcardSessionAttributeMatcher extends
> WildcardURIMatcher {
>   +public class WildcardSessionAttributeMatcher
>   +    extends WildcardURIMatcher
>   +    implements Configurable
>   +{
>
>        private String defaultParam;
>
>        public void configure(Configuration config) throws
> ConfigurationException {
>            this.defaultParam =
> config.getChild("attribute-name").getValue(null);
>   +   getLogger().debug("attribute-name is = '"+this.defaultParam+"'");
>        }
>
>        protected String getMatchString(Map objectModel,
> Parameters parameters) {
>
>
>
>   1.2       +4 -1
> xml-cocoon2/src/org/apache/cocoon/matching/helpers/WildcardHelper.java
>
>   Index: WildcardHelper.java
>   ===================================================================
>   RCS file:
> /home/cvs/xml-cocoon2/src/org/apache/cocoon/matching/helpers/Wildc
> ardHelper.java,v
>   retrieving revision 1.1
>   retrieving revision 1.2
>   diff -u -r1.1 -r1.2
>   --- WildcardHelper.java     2001/10/19 15:28:45     1.1
>   +++ WildcardHelper.java     2001/11/26 09:19:51     1.2
>   @@ -18,7 +18,7 @@
>     * @author <a href="mailto:[EMAIL PROTECTED]";>Giacomo Pati</a>
>     * @author <a href="mailto:[EMAIL PROTECTED]";>Stefano Mazzocchi</a>
>     * @author <a href="mailto:[EMAIL PROTECTED]";>Berin Loritsch</a>
>   - * @version CVS $Revision: 1.1 $ $Date: 2001/10/19 15:28:45 $
>   + * @version CVS $Revision: 1.2 $ $Date: 2001/11/26 09:19:51 $
>     */
>    public class WildcardHelper {
>
>   @@ -152,6 +152,9 @@
>
>            // The matching count
>            int mcount = 0;
>   +
>   +        // We want the complete data be in {0}
>   +        map.put(Integer.toString(mcount),data);
>
>            // First check for MATCH_BEGIN
>            boolean matchBegin = false;
>
>
>
>   1.3       +4 -1
> xml-cocoon2/src/org/apache/cocoon/matching/helpers/WildcardURIMatcher.java
>
>   Index: WildcardURIMatcher.java
>   ===================================================================
>   RCS file:
> /home/cvs/xml-cocoon2/src/org/apache/cocoon/matching/helpers/Wildc
> ardURIMatcher.java,v
>   retrieving revision 1.2
>   retrieving revision 1.3
>   diff -u -r1.2 -r1.3
>   --- WildcardURIMatcher.java 2001/10/19 15:28:45     1.2
>   +++ WildcardURIMatcher.java 2001/11/26 09:19:51     1.3
>   @@ -17,7 +17,7 @@
>     *         (Apache Software Foundation, Exoffice Technologies)
>     * @author <a href="mailto:[EMAIL PROTECTED]";>Giacomo Pati</a>
>     * @author <a href="mailto:[EMAIL PROTECTED]";>Stefano Mazzocchi</a>
>   - * @version CVS $Revision: 1.2 $ $Date: 2001/10/19 15:28:45 $
>   + * @version CVS $Revision: 1.3 $ $Date: 2001/11/26 09:19:51 $
>     * @deprecated renamed to WildcardHelper
>     */
>    public class WildcardURIMatcher {
>   @@ -64,6 +64,9 @@
>
>            // The matching count
>            int mcount = 0;
>   +
>   +        // We want the complete data be in {0}
>   +        map.put(Integer.toString(mcount),data);
>
>            // First check for MATCH_BEGIN
>            boolean matchBegin = false;
>
>
>
>   1.48      +7 -1
> xml-cocoon2/src/org/apache/cocoon/components/language/markup/sitem
> ap/java/sitemap.xsl
>
>   Index: sitemap.xsl
>   ===================================================================
>   RCS file:
> /home/cvs/xml-cocoon2/src/org/apache/cocoon/components/language/ma
> rkup/sitemap/java/sitemap.xsl,v
>   retrieving revision 1.47
>   retrieving revision 1.48
>   diff -u -r1.47 -r1.48
>   --- sitemap.xsl     2001/11/14 22:43:43     1.47
>   +++ sitemap.xsl     2001/11/26 09:19:51     1.48
>   @@ -126,7 +126,7 @@
>         *
>         * @author &lt;a
> href="mailto:[EMAIL PROTECTED]"&gt;Giacomo Pati&lt;/a&gt;
>         * @author &lt;a
> href="mailto:[EMAIL PROTECTED]"&gt;Berin Loritsch&lt;/a&gt;
>   -     * @version CVS $Id: sitemap.xsl,v 1.47 2001/11/14
> 22:43:43 giacomo Exp $
>   +     * @version CVS $Id: sitemap.xsl,v 1.48 2001/11/26
> 09:19:51 haul Exp $
>         */
>        public class <xsl:value-of select="@file-name"/> extends
> AbstractSitemap {
>          static final String LOCATION = "<xsl:value-of
> select="translate(@file-path, '/', '.')"/>.<xsl:value-of
> select="@file-name"/>";
>   @@ -1614,6 +1614,12 @@
>          }
>        </xsl:for-each>
>      </xsl:template>
>   +
>   +  <!-- nice for debugging: print all kown sitemap parameters to log -->
>   +  <xsl:template match="map:dump-parameters">
>   +    this.dumpParameters(listOfMaps);
>   +  </xsl:template>
>   +
>
>      <!-- this template is used to setup a individual sitemap
> component before putting it into a pipeline -->
>      <xsl:template name="setup-component">
>
>
>
>
> ----------------------------------------------------------------------
> In case of troubles, e-mail:     [EMAIL PROTECTED]
> To unsubscribe, e-mail:          [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, email: [EMAIL PROTECTED]

Reply via email to