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);