ugo         2004/04/08 13:15:20

  Modified:    src/webapp/samples components-samples.xml sitemap.xmap
               src/java/org/apache/cocoon/generation CalendarGenerator.java
  Log:
  Changed CalendarGenerator to fetch month from parameters instead of from src.
Added sample.
  
  Revision  Changes    Path
  1.8       +4 -1      cocoon-2.1/src/webapp/samples/components-samples.xml
  
  Index: components-samples.xml
  ===================================================================
  RCS file: /home/cvs/cocoon-2.1/src/webapp/samples/components-samples.xml,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- components-samples.xml    5 Apr 2004 12:34:22 -0000       1.7
  +++ components-samples.xml    8 Apr 2004 20:15:20 -0000       1.8
  @@ -43,6 +43,9 @@
       <sample href="imagereader/list" name="Image Directory Generator">
         Read a directory, process images and find their attributes.
       </sample>
  +    <sample href="cal" name="Calendar Generator">
  +      Generate a calendar for any month and year.
  +    </sample>
     </group>
   
     <group name="Transformers">
  
  
  
  1.24      +18 -1     cocoon-2.1/src/webapp/samples/sitemap.xmap
  
  Index: sitemap.xmap
  ===================================================================
  RCS file: /home/cvs/cocoon-2.1/src/webapp/samples/sitemap.xmap,v
  retrieving revision 1.23
  retrieving revision 1.24
  diff -u -r1.23 -r1.24
  --- sitemap.xmap      1 Apr 2004 19:05:42 -0000       1.23
  +++ sitemap.xmap      8 Apr 2004 20:15:20 -0000       1.24
  @@ -24,6 +24,7 @@
    <map:components>
     <map:generators default="file">
      <map:generator name="linkstatus" 
src="org.apache.cocoon.generation.LinkStatusGenerator"/>
  +   <map:generator name="calendar" 
src="org.apache.cocoon.generation.CalendarGenerator"/>
     </map:generators>
     <map:transformers default="xslt"/>
     <map:readers default="resource"/>
  @@ -156,6 +157,22 @@
   
      <map:match pattern="request.html">
       <map:generate type="request"/>
  +    <map:transform src="context://stylesheets/system/xml2html.xslt"/>
  +    <map:serialize/>
  +   </map:match>
  +
  +   <map:match pattern="cal">
  +    <map:generate type="calendar" label="content">
  +      <!-- Uncomment and set a value for the desired month and year
  +      <map:parameter name="month" value="6"/>
  +      <map:parameter name="year" value="1998"/>
  +      -->
  +      <map:parameter name="dateFormat" value="EEEE, d MMMM yyyy"/>
  +      <!--
  +      <map:parameter name="lang" value="en"/>
  +      <map:parameter name="country" value="US"/>
  +      -->
  +    </map:generate>
       <map:transform src="context://stylesheets/system/xml2html.xslt"/>
       <map:serialize/>
      </map:match>
  
  
  
  1.3       +6 -6      
cocoon-2.1/src/java/org/apache/cocoon/generation/CalendarGenerator.java
  
  Index: CalendarGenerator.java
  ===================================================================
  RCS file: 
/home/cvs/cocoon-2.1/src/java/org/apache/cocoon/generation/CalendarGenerator.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- CalendarGenerator.java    7 Apr 2004 23:29:22 -0000       1.2
  +++ CalendarGenerator.java    8 Apr 2004 20:15:20 -0000       1.3
  @@ -122,16 +122,16 @@
        */
       public void setup(SourceResolver resolver, Map objectModel, String src, 
Parameters par)
       throws ProcessingException, SAXException, IOException {
  -        if (src == null) {
  -            throw new ProcessingException("No src attribute specified.");
  -        }
           super.setup(resolver, objectModel, src, par);
           
           this.cacheKeyParList = new ArrayList();
           this.cacheKeyParList.add(src);
           
  -        this.year = Integer.parseInt(src.substring(0, src.indexOf('/')));
  -        this.month = Integer.parseInt(src.substring(src.indexOf('/') + 1)) - 
1;
  +        Calendar now = Calendar.getInstance(TimeZone.getTimeZone("UTC"));
  +        this.year = par.getParameterAsInteger("year", 
now.get(Calendar.YEAR));
  +        this.cacheKeyParList.add(String.valueOf(this.year));
  +        this.month = par.getParameterAsInteger("month", 
now.get(Calendar.MONTH) + 1) - 1;
  +        this.cacheKeyParList.add(String.valueOf(this.month));
           
           String dateFormatString = par.getParameter("dateFormat", null);
           this.cacheKeyParList.add(dateFormatString);
  
  
  

Reply via email to