cocoon-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From giacomo <giac...@apache.org>
Subject RE: cvs commit: xml-cocoon2/src/org/apache/cocoon/components/language/markup/sitemap/java sitemap.xsl
Date Mon, 26 Nov 2001 12:21:49 GMT
On Mon, 26 Nov 2001, Carsten Ziegeler wrote:

> 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?

I fully support Carsten here. We should not augment the sitemap Schema
with debugging stuff. The logging interface should give you enough power
to show you what's wrong.

Giacomo

> 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: haul@apache.org [mailto:haul@apache.org]
> > Sent: Monday, November 26, 2001 10:20 AM
> > To: xml-cocoon2-cvs@apache.org
> > 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:Giacomo.Pati@pwr.ch">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:haul@informatik.tu-darmstadt.de">Christian Haul</a>
> >     * @author <a href="mailto:sylvain@apache.org">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:Giacomo.Pati@pwr.ch">Giacomo Pati</a>
> >     * @author <a href="mailto:stefano@apache.org">Stefano Mazzocchi</a>
> >     * @author <a href="mailto:bloritsch@apache.org">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:Giacomo.Pati@pwr.ch">Giacomo Pati</a>
> >     * @author <a href="mailto:stefano@apache.org">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:giacomo@apache.org"&gt;Giacomo Pati&lt;/a&gt;
> >         * @author &lt;a
> > href="mailto:bloritsch@apache.org"&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:     webmaster@xml.apache.org
> > To unsubscribe, e-mail:          cocoon-cvs-unsubscribe@xml.apache.org
> > For additional commands, e-mail: cocoon-cvs-help@xml.apache.org
> >
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: cocoon-dev-unsubscribe@xml.apache.org
> For additional commands, email: cocoon-dev-help@xml.apache.org
>
>
>
>


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


Mime
View raw message