svn commit: rev 36408 - in cocoon/trunk/tools: src src/anttasks/doclets targets
Author: gcasper Date: Sun Aug 15 05:05:44 2004 New Revision: 36408 Removed: cocoon/trunk/tools/src/anttasks/doclets/ Modified: cocoon/trunk/tools/src/blocks-build.xsl cocoon/trunk/tools/targets/docs-build.xml Log: removed published-api target Modified: cocoon/trunk/tools/src/blocks-build.xsl == --- cocoon/trunk/tools/src/blocks-build.xsl (original) +++ cocoon/trunk/tools/src/blocks-build.xsl Sun Aug 15 05:05:44 2004 @@ -274,53 +274,6 @@ /javadoc /target -target name=published-api - mkdir dir=${{build}}/published-api-xml/ - mkdir dir=${{build}}/published-api-html/ - pubapidocs destdir=${{build}}/published-api-xml - usagetag=cocoon.usage - tagvalue=published -fileset dir=${{java}} - include name=**/*.java/ -/fileset -fileset dir=${{deprecated.src}} - include name=**/*.java/ -/fileset -xsl:for-each select=$cocoon-blocks - fileset dir=${{blocks}}/{substring-after(@name,'cocoon-block-')}/java -include name=**/*.java/ - /fileset -/xsl:for-each - /pubapidocs - xslt basedir=${{build}}/published-api-xml -destdir=${{build}}/published-api-html -includes=allclasses-frame.xml -extension=.html - style=tools/src/anttasks/doclets/stylesheets/allclasses2html.xsl/ - xslt basedir=${{build}}/published-api-xml -destdir=${{build}}/published-api-html -includes=overview-frame.xml -extension=.html - style=tools/src/anttasks/doclets/stylesheets/allpackages2html.xsl/ - xslt in=${{build}}/published-api-xml/overview-frame.xml -out=${{build}}/published-api-html/overview-summary.html - style=tools/src/anttasks/doclets/stylesheets/allpackages2overviewhtml.xsl/ - xslt basedir=${{build}}/published-api-xml -destdir=${{build}}/published-api-html -includes=**/package-frame.xml -extension=.html -style=tools/src/anttasks/doclets/stylesheets/package2html.xsl/ - xslt basedir=${{build}}/published-api-xml -destdir=${{build}}/published-api-html -includes=**/*.xml -excludes=**/*frame* -extension=.html -style=tools/src/anttasks/doclets/stylesheets/class2html.xsl - param name=rooturl expression=${{build}}/published-api-html/ - /xslt - copy file=tools/src/anttasks/doclets/resources/index.html todir=${{build}}/published-api-html/ -/target - xsl:apply-templates select=$cocoon-blocks/ /xsl:template Modified: cocoon/trunk/tools/targets/docs-build.xml == --- cocoon/trunk/tools/targets/docs-build.xml (original) +++ cocoon/trunk/tools/targets/docs-build.xml Sun Aug 15 05:05:44 2004 @@ -234,14 +234,4 @@ target=javadocs/ /target - !-- Creates Javadocs for published classes/interfaces only-- - target name=published-api - depends=prepare-blocks - description=Builds the published API documentation (javadocs) -ant antfile=${build.temp}/blocks-build.xml - inheritAll=true - inheritRefs=false - target=published-api/ - /target - /project
svn commit: rev 36409 - cocoon/trunk/tools/targets
Author: gcasper Date: Sun Aug 15 05:29:19 2004 New Revision: 36409 Modified: cocoon/trunk/tools/targets/init-build.xml Log: removed published-api target Modified: cocoon/trunk/tools/targets/init-build.xml == --- cocoon/trunk/tools/targets/init-build.xml (original) +++ cocoon/trunk/tools/targets/init-build.xml Sun Aug 15 05:29:19 2004 @@ -174,9 +174,6 @@ taskdef name=jing classname=com.thaiopensource.relaxng.util.JingTask classpathref=tasks.classpath/ -!-- A task for generating javadocs only for published classes/interfaces -- -taskdef name=pubapidocs classname=doclets.QdoxJavadocTask classpathref=tasks.classpath/ - !-- compile the loader, used to change classpath especially for the CLI and Jetty -- mkdir dir=${tools.loader.dest}/
cvs commit: cocoon-2.1/src/blocks/qdox/samples/stylesheets qdox2html.xsl
gcasper 2004/05/27 10:25:43 Modified:src/blocks/qdox/samples/stylesheets qdox2html.xsl Log: Fixing display of author tags Revision ChangesPath 1.3 +2 -2 cocoon-2.1/src/blocks/qdox/samples/stylesheets/qdox2html.xsl Index: qdox2html.xsl === RCS file: /home/cvs/cocoon-2.1/src/blocks/qdox/samples/stylesheets/qdox2html.xsl,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- qdox2html.xsl 6 Mar 2004 02:26:14 - 1.2 +++ qdox2html.xsl 27 May 2004 17:25:43 - 1.3 @@ -261,7 +261,7 @@ /dt dd xsl:for-each select=jd:author -xsl:value-of select=text() disable-output-escaping=yes / +xsl:value-of select=. disable-output-escaping=yes / xsl:if test=position() != last() xsl:text, /xsl:text /xsl:if
cvs commit: cocoon-2.1/tools/src/anttasks/doclets/resources index.html
gcasper 2004/05/27 10:29:10 Modified:tools/src/anttasks/doclets/resources index.html Log: removed comments Revision ChangesPath 1.2 +1 -3 cocoon-2.1/tools/src/anttasks/doclets/resources/index.html Index: index.html === RCS file: /home/cvs/cocoon-2.1/tools/src/anttasks/doclets/resources/index.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- index.html25 May 2004 12:53:43 - 1.1 +++ index.html27 May 2004 17:29:09 - 1.2 @@ -1,10 +1,8 @@ !DOCTYPE HTML PUBLIC -//W3C//DTD HTML 4.01 Frameset//EN http://www.w3.org/TR/html4/frameset.dtd; -!--NewPage-- HTML HEAD -!-- Generated by javadoc on Sat May 08 22:24:16 CEST 2004-- TITLE -MyTask Javadocs +Published Classes /TITLE /HEAD FRAMESET cols=20%,80%
cvs commit: cocoon-2.1/tools/src/anttasks/doclets - New directory
gcasper 2004/05/25 05:53:27 cocoon-2.1/tools/src/anttasks/doclets - New directory
cvs commit: cocoon-2.1/tools/src/anttasks/doclets/resources - New directory
gcasper 2004/05/25 05:53:27 cocoon-2.1/tools/src/anttasks/doclets/resources - New directory
cvs commit: cocoon-2.1/tools/src/anttasks/doclets/stylesheets - New directory
gcasper 2004/05/25 05:53:27 cocoon-2.1/tools/src/anttasks/doclets/stylesheets - New directory
cvs commit: cocoon-2.1/tools/src/anttasks/doclets/stylesheets allclasses2html.xsl allpackages2overviewhtml.xsl class2html.xsl package2html.xsl allpackages2html.xsl
gcasper 2004/05/25 05:53:44 Modified:tools/targets init-build.xml docs-build.xml tools/src blocks-build.xsl Added: tools/src/anttasks/doclets ClassXMLWriter.java Resolver.java ClassOverviewXMLWriter.java AbstractXMLWriter.java PackageOverviewXMLWriter.java QdoxJavadocTask.java PackageXMLWriter.java tools/src/anttasks/doclets/resources index.html tools/src/anttasks/doclets/stylesheets allclasses2html.xsl allpackages2overviewhtml.xsl class2html.xsl package2html.xsl allpackages2html.xsl Log: Added 'published-api' target Revision ChangesPath 1.15 +3 -0 cocoon-2.1/tools/targets/init-build.xml http://cvs.apache.org/viewcvs/cocoon-2.1/tools/targets/init-build.xml.diff?r1=1.14r2=1.15 1.12 +10 -0 cocoon-2.1/tools/targets/docs-build.xml http://cvs.apache.org/viewcvs/cocoon-2.1/tools/targets/docs-build.xml.diff?r1=1.11r2=1.12 1.1 cocoon-2.1/tools/src/anttasks/doclets/ClassXMLWriter.java http://cvs.apache.org/viewcvs/cocoon-2.1/tools/src/anttasks/doclets/ClassXMLWriter.java?rev=1.1 1.1 cocoon-2.1/tools/src/anttasks/doclets/Resolver.java http://cvs.apache.org/viewcvs/cocoon-2.1/tools/src/anttasks/doclets/Resolver.java?rev=1.1 1.1 cocoon-2.1/tools/src/anttasks/doclets/ClassOverviewXMLWriter.java http://cvs.apache.org/viewcvs/cocoon-2.1/tools/src/anttasks/doclets/ClassOverviewXMLWriter.java?rev=1.1 1.1 cocoon-2.1/tools/src/anttasks/doclets/AbstractXMLWriter.java http://cvs.apache.org/viewcvs/cocoon-2.1/tools/src/anttasks/doclets/AbstractXMLWriter.java?rev=1.1 1.1 cocoon-2.1/tools/src/anttasks/doclets/PackageOverviewXMLWriter.java http://cvs.apache.org/viewcvs/cocoon-2.1/tools/src/anttasks/doclets/PackageOverviewXMLWriter.java?rev=1.1 1.1 cocoon-2.1/tools/src/anttasks/doclets/QdoxJavadocTask.java http://cvs.apache.org/viewcvs/cocoon-2.1/tools/src/anttasks/doclets/QdoxJavadocTask.java?rev=1.1 1.1 cocoon-2.1/tools/src/anttasks/doclets/PackageXMLWriter.java http://cvs.apache.org/viewcvs/cocoon-2.1/tools/src/anttasks/doclets/PackageXMLWriter.java?rev=1.1 1.70 +47 -0 cocoon-2.1/tools/src/blocks-build.xsl http://cvs.apache.org/viewcvs/cocoon-2.1/tools/src/blocks-build.xsl.diff?r1=1.69r2=1.70 1.1 cocoon-2.1/tools/src/anttasks/doclets/resources/index.html http://cvs.apache.org/viewcvs/cocoon-2.1/tools/src/anttasks/doclets/resources/index.html?rev=1.1 1.1 cocoon-2.1/tools/src/anttasks/doclets/stylesheets/allclasses2html.xsl http://cvs.apache.org/viewcvs/cocoon-2.1/tools/src/anttasks/doclets/stylesheets/allclasses2html.xsl?rev=1.1 1.1 cocoon-2.1/tools/src/anttasks/doclets/stylesheets/allpackages2overviewhtml.xsl http://cvs.apache.org/viewcvs/cocoon-2.1/tools/src/anttasks/doclets/stylesheets/allpackages2overviewhtml.xsl?rev=1.1 1.1 cocoon-2.1/tools/src/anttasks/doclets/stylesheets/class2html.xsl http://cvs.apache.org/viewcvs/cocoon-2.1/tools/src/anttasks/doclets/stylesheets/class2html.xsl?rev=1.1 1.1 cocoon-2.1/tools/src/anttasks/doclets/stylesheets/package2html.xsl http://cvs.apache.org/viewcvs/cocoon-2.1/tools/src/anttasks/doclets/stylesheets/package2html.xsl?rev=1.1 1.1 cocoon-2.1/tools/src/anttasks/doclets/stylesheets/allpackages2html.xsl http://cvs.apache.org/viewcvs/cocoon-2.1/tools/src/anttasks/doclets/stylesheets/allpackages2html.xsl?rev=1.1
cvs commit: cocoon-2.1/lib jars.xml
gcasper 2004/04/11 02:27:10 Modified:lib jars.xml Added: src/blocks/webdav/lib jakarta-slide-webdavlib-2.0rc1.jar Removed: src/blocks/webdav/lib jakarta-slide-webdavlib-2.0beta1-20040329.jar Log: Updating SWCL to RC1 Revision ChangesPath 1.1 cocoon-2.1/src/blocks/webdav/lib/jakarta-slide-webdavlib-2.0rc1.jar Binary file 1.203 +2 -2 cocoon-2.1/lib/jars.xml Index: jars.xml === RCS file: /home/cvs/cocoon-2.1/lib/jars.xml,v retrieving revision 1.202 retrieving revision 1.203 diff -u -r1.202 -r1.203 --- jars.xml 6 Apr 2004 04:36:43 - 1.202 +++ jars.xml 11 Apr 2004 09:27:09 - 1.203 @@ -789,7 +789,7 @@ titleSlide WebDAV Client library/title descriptionThe Jakarta Slide WebDAV client library./description used-byWebDAV block/used-by -libwebdav/lib/jakarta-slide-webdavlib-2.0beta1-20040329.jar/lib +libwebdav/lib/jakarta-slide-webdavlib-2.0rc1.jar/lib homepagehttp://jakarta.apache.org/slide//homepage /file
cvs commit: cocoon-2.1/src/blocks/webdav/test/anteater step3.xml davmap.xml
gcasper 2004/04/08 08:24:54 Modified:src/blocks/batik/test/anteater samples-mime-types.xml src/blocks/webdav/test/anteater step3.xml davmap.xml Log: Adjusting Anteater tests to latest build reorg Revision ChangesPath 1.6 +2 -2 cocoon-2.1/src/blocks/batik/test/anteater/samples-mime-types.xml Index: samples-mime-types.xml === RCS file: /home/cvs/cocoon-2.1/src/blocks/batik/test/anteater/samples-mime-types.xml,v retrieving revision 1.5 retrieving revision 1.6 diff -u -r1.5 -r1.6 --- samples-mime-types.xml6 Mar 2004 02:26:14 - 1.5 +++ samples-mime-types.xml8 Apr 2004 15:24:54 - 1.6 @@ -33,7 +33,7 @@ target name=batik-samples-mime-types property name=helloWorldBaseUrl value=${anteater.env.cocoon}/samples/hello-world/ -property name=batikBaseUrl value=${anteater.env.cocoon}/samples/batik/ +property name=batikBaseUrl value=${anteater.env.cocoon}/samples/blocks/batik/ httpRequest href=${helloWorldBaseUrl}/hello.svg match 1.5 +1 -1 cocoon-2.1/src/blocks/webdav/test/anteater/step3.xml Index: step3.xml === RCS file: /home/cvs/cocoon-2.1/src/blocks/webdav/test/anteater/step3.xml,v retrieving revision 1.4 retrieving revision 1.5 diff -u -r1.4 -r1.5 --- step3.xml 6 Mar 2004 02:26:19 - 1.4 +++ step3.xml 8 Apr 2004 15:24:54 - 1.5 @@ -22,7 +22,7 @@ /group target name=webdav-step3 -property name=step3.samples value=${anteater.env.cocoon}/samples/webdav/ +property name=step3.samples value=${anteater.env.cocoon}/samples/blocks/webdav/ property name=step3.newTitle value=Title changed by anteater step3 test/ echosamples=${samples}/echo 1.2 +1 -1 cocoon-2.1/src/blocks/webdav/test/anteater/davmap.xml Index: davmap.xml === RCS file: /home/cvs/cocoon-2.1/src/blocks/webdav/test/anteater/davmap.xml,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- davmap.xml28 Mar 2004 18:13:13 - 1.1 +++ davmap.xml8 Apr 2004 15:24:54 - 1.2 @@ -22,7 +22,7 @@ /group target name=webdav-davmap -property name=davmap.samples value=${anteater.env.cocoon}samples/webdav/ +property name=davmap.samples value=${anteater.env.cocoon}samples/blocks/webdav/ property name=davmap.title value=repo/ echosamples=${davmap.samples}/echo
cvs commit: cocoon-2.1/src/blocks/webdav/java/org/apache/cocoon/components/repository/impl WebDAVRepositoryVersioningHelper.java
gcasper 2004/04/05 07:27:19 Modified: src/blocks/webdav/java/org/apache/cocoon/components/repository/impl WebDAVRepositoryVersioningHelper.java Log: disallow setting a resource to non-versioned Revision ChangesPath 1.5 +1 -10 cocoon-2.1/src/blocks/webdav/java/org/apache/cocoon/components/repository/impl/WebDAVRepositoryVersioningHelper.java Index: WebDAVRepositoryVersioningHelper.java === RCS file: /home/cvs/cocoon-2.1/src/blocks/webdav/java/org/apache/cocoon/components/repository/impl/WebDAVRepositoryVersioningHelper.java,v retrieving revision 1.4 retrieving revision 1.5 diff -u -r1.4 -r1.5 --- WebDAVRepositoryVersioningHelper.java 5 Apr 2004 11:27:38 - 1.4 +++ WebDAVRepositoryVersioningHelper.java 5 Apr 2004 14:27:19 - 1.5 @@ -139,16 +139,7 @@ try { if(!versioned) { -WebDAVUtil.moveResource(this.repo.getAbsoluteURI(uri), -this.repo.getAbsoluteURI(uri + .temp), -false, -false); -WebDAVUtil.copyResource(this.repo.getAbsoluteURI(uri + .temp), -this.repo.getAbsoluteURI(uri), -false, -false); -WebDAVUtil.getWebdavResource(this.repo.getAbsoluteURI(uri + .temp)).deleteMethod(); -return true; +return false; } else { return WebDAVUtil.getWebdavResource(this.repo.getAbsoluteURI(uri))
cvs commit: cocoon-2.1/src/blocks/scratchpad/conf flow-continuation-module.xconf flow-attribute-module.xconf
gcasper 2004/04/04 01:43:08 Removed: src/blocks/scratchpad/conf flow-continuation-module.xconf flow-attribute-module.xconf Log: Moving FlowXXXModules into core
cvs commit: cocoon-2.1/src/java/org/apache/cocoon/components/modules/input FlowAttributeModule.java FlowContinuationModule.java
gcasper 2004/04/04 01:43:43 Added: src/java/org/apache/cocoon/components/modules/input FlowAttributeModule.java FlowContinuationModule.java Log: Moving FlowXXXModules into core Revision ChangesPath 1.1 cocoon-2.1/src/java/org/apache/cocoon/components/modules/input/FlowAttributeModule.java Index: FlowAttributeModule.java === /* * Copyright 1999-2004 The Apache Software Foundation. * * Licensed under the Apache License, Version 2.0 (the License); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an AS IS BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package org.apache.cocoon.components.modules.input; import org.apache.avalon.framework.configuration.Configuration; import org.apache.avalon.framework.thread.ThreadSafe; import org.apache.cocoon.components.flow.FlowHelper; import java.util.Map; /** * FlowAttributeModule provides access to the flow business object properties. * To get access to the properties use XPath syntax. If requested * object is not found then an exception will be thrown. * * @author a href=mailto:[EMAIL PROTECTED]Daniel Fagerstrom/a * @version CVS $Id: FlowAttributeModule.java,v 1.1 2004/04/04 09:43:43 gcasper Exp $ */ public class FlowAttributeModule extends AbstractJXPathModule implements ThreadSafe { protected Object getContextObject(Configuration modeConf, Map objectModel) { return FlowHelper.getContextObject(objectModel); } } 1.1 cocoon-2.1/src/java/org/apache/cocoon/components/modules/input/FlowContinuationModule.java Index: FlowContinuationModule.java === /* * Copyright 1999-2004 The Apache Software Foundation. * * Licensed under the Apache License, Version 2.0 (the License); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an AS IS BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package org.apache.cocoon.components.modules.input; import org.apache.avalon.framework.configuration.Configuration; import org.apache.avalon.framework.thread.ThreadSafe; import org.apache.cocoon.components.flow.FlowHelper; import java.util.Map; /** * FlowContinuationModule provides access to the flow web continuation * object. To get access to the properties use XPath syntax. If * requested object is not found then an exception will be thrown. * * @author a href=mailto:[EMAIL PROTECTED]Daniel Fagerstrom/a * @version CVS $Id: FlowContinuationModule.java,v 1.1 2004/04/04 09:43:43 gcasper Exp $ */ public class FlowContinuationModule extends AbstractJXPathModule implements ThreadSafe { protected Object getContextObject(Configuration modeConf, Map objectModel) { return FlowHelper.getWebContinuation(objectModel); } }
cvs commit: cocoon-2.1/src/webapp/WEB-INF cocoon.xconf
gcasper 2004/04/04 01:44:00 Modified:src/webapp/WEB-INF cocoon.xconf Log: Moving FlowXXXModules into core Revision ChangesPath 1.41 +3 -0 cocoon-2.1/src/webapp/WEB-INF/cocoon.xconf Index: cocoon.xconf === RCS file: /home/cvs/cocoon-2.1/src/webapp/WEB-INF/cocoon.xconf,v retrieving revision 1.40 retrieving revision 1.41 diff -u -r1.40 -r1.41 --- cocoon.xconf 24 Mar 2004 13:19:53 - 1.40 +++ cocoon.xconf 4 Apr 2004 09:44:00 - 1.41 @@ -197,6 +197,9 @@ file src=http://slashdot.org/slashdot.rss/ /component-instance +component-instance logger=core.modules.input name=flow-attribute class=org.apache.cocoon.components.modules.input.FlowAttributeModule/ +component-instance logger=core.modules.input name=flow-continuation class=org.apache.cocoon.components.modules.input.FlowContinuationModule/ + /input-modules !--+
cvs commit: cocoon-2.1/src/blocks/repository/java/org/apache/cocoon/generation TraversableGenerator.java
gcasper 2004/04/04 05:09:02 Modified:src/blocks/webdav/samples/davmap sitemap.xmap src/blocks/repository/java/org/apache/cocoon/generation TraversableGenerator.java Log: Added locale configuration to davmap sample Revision ChangesPath 1.19 +1 -0 cocoon-2.1/src/blocks/webdav/samples/davmap/sitemap.xmap Index: sitemap.xmap === RCS file: /home/cvs/cocoon-2.1/src/blocks/webdav/samples/davmap/sitemap.xmap,v retrieving revision 1.18 retrieving revision 1.19 diff -u -r1.18 -r1.19 --- sitemap.xmap 4 Apr 2004 09:46:33 - 1.18 +++ sitemap.xmap 4 Apr 2004 12:09:02 - 1.19 @@ -164,6 +164,7 @@ map:generate type=traverse src={global:staging}{1} map:parameter name=depth value={request-header:Depth} / map:parameter name=dateFormat value=EEE, d MMM HH:mm:ss z / + map:parameter name=locale value=en / map:parameter name=timeZone value=GMT / map:parameter name=properties value=false / map:parameter name=locks value=false / 1.13 +8 -2 cocoon-2.1/src/blocks/repository/java/org/apache/cocoon/generation/TraversableGenerator.java Index: TraversableGenerator.java === RCS file: /home/cvs/cocoon-2.1/src/blocks/repository/java/org/apache/cocoon/generation/TraversableGenerator.java,v retrieving revision 1.12 retrieving revision 1.13 diff -u -r1.12 -r1.13 --- TraversableGenerator.java 25 Mar 2004 13:21:14 - 1.12 +++ TraversableGenerator.java 4 Apr 2004 12:09:02 - 1.13 @@ -34,6 +34,7 @@ import java.io.IOException; import java.io.Serializable; import java.text.SimpleDateFormat; +import java.util.Locale; import java.util.ArrayList; import java.util.Collection; import java.util.Date; @@ -190,7 +191,12 @@ String dateFormatString = par.getParameter(dateFormat, null); this.cacheKeyParList.add(dateFormatString); if (dateFormatString != null) { -this.dateFormatter = new SimpleDateFormat(dateFormatString); +String locale = par.getParameter(locale, null); +if (locale != null) { +this.dateFormatter = new SimpleDateFormat(dateFormatString, new Locale(locale)); +} else { +this.dateFormatter = new SimpleDateFormat(dateFormatString); +} } else { this.dateFormatter = new SimpleDateFormat(); }
cvs commit: cocoon-2.1/src/blocks/webdav/java/org/apache/cocoon/components/repository/impl WebDAVRepository.java
gcasper 2004/04/04 07:57:30 Modified: src/blocks/webdav/java/org/apache/cocoon/components/repository/impl WebDAVRepository.java Log: Added createResource method Revision ChangesPath 1.2 +22 -0 cocoon-2.1/src/blocks/webdav/java/org/apache/cocoon/components/repository/impl/WebDAVRepository.java Index: WebDAVRepository.java === RCS file: /home/cvs/cocoon-2.1/src/blocks/webdav/java/org/apache/cocoon/components/repository/impl/WebDAVRepository.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- WebDAVRepository.java 2 Apr 2004 14:53:34 - 1.1 +++ WebDAVRepository.java 4 Apr 2004 14:57:30 - 1.2 @@ -244,6 +244,28 @@ } /* (non-Javadoc) + * @see org.apache.cocoon.components.repository.Repository#createResource(java.lang.String, java.lang.String) + */ +public boolean createResource(String uri, String content) { + +if (this.getLogger().isDebugEnabled()) { +this.getLogger().debug(creating new resource + uri); +} + +try { +WebDAVUtil.createResource(uri, content); +return true; + +} catch (HttpException he) { +this.getLogger().error(Error creating resource: + this.repoBaseUrl + uri, he); +} catch (IOException ioe) { +this.getLogger().error(Error creating resource: + this.repoBaseUrl + uri, ioe); +} + +return false; +} + +/* (non-Javadoc) * @see org.apache.cocoon.components.repository.Repository#exists(java.lang.String) */ public boolean exists(String uri) {
cvs commit: cocoon-2.1/src/blocks/repository/java/org/apache/cocoon/components/repository Repository.java
gcasper 2004/04/04 07:57:46 Modified: src/blocks/repository/java/org/apache/cocoon/components/repository Repository.java Log: Added createResource method Revision ChangesPath 1.3 +10 -0 cocoon-2.1/src/blocks/repository/java/org/apache/cocoon/components/repository/Repository.java Index: Repository.java === RCS file: /home/cvs/cocoon-2.1/src/blocks/repository/java/org/apache/cocoon/components/repository/Repository.java,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- Repository.java 29 Mar 2004 23:24:18 - 1.2 +++ Repository.java 4 Apr 2004 14:57:45 - 1.3 @@ -90,6 +90,16 @@ boolean saveContent(String uri, Source source) throws ProcessingException; /** + * create a new resource + * + * @param uri the uri of the resource. + * @param content the content to initialize the resource with. + * @return a boolean indicating success. + * @throws ProcessingException + */ +boolean createResource(String uri, String content) throws ProcessingException; + +/** * copy a resource * * @param uri the uri of the resource.
cvs commit: cocoon-2.1/src/blocks/webdav/samples/davmap webdav.js
gcasper 2004/04/03 05:44:06 Modified:src/blocks/webdav/samples/davmap webdav.js Log: Interoperability with win2k Revision ChangesPath 1.10 +8 -0 cocoon-2.1/src/blocks/webdav/samples/davmap/webdav.js Index: webdav.js === RCS file: /home/cvs/cocoon-2.1/src/blocks/webdav/samples/davmap/webdav.js,v retrieving revision 1.9 retrieving revision 1.10 diff -u -r1.9 -r1.10 --- webdav.js 6 Mar 2004 02:26:11 - 1.9 +++ webdav.js 3 Apr 2004 13:44:06 - 1.10 @@ -96,6 +96,14 @@ var options = OPTIONS,GET,HEAD,POST,DELETE,TRACE,PUT + ,MKCOL,PROPFIND,PROPPATCH,COPY,MOVE; cocoon.response.setHeader(Allow,options); + + //interoperability with Windows 2000 + var w2kDAVDiscoverAgent = Microsoft Data Access Internet + + Publishing Provider Protocol Discovery; + if (cocoon.request.getHeader(User-Agent) == w2kDAVDiscoverAgent) { + cocoon.response.setHeader(MS-Author-Via,DAV); + } + sendStatus(200); }
cvs commit: cocoon-2.1/src/blocks/webdav/java/org/apache/cocoon/components/repository/impl - New directory
gcasper 2004/04/02 06:53:28 cocoon-2.1/src/blocks/webdav/java/org/apache/cocoon/components/repository/impl - New directory
cvs commit: cocoon-2.1/src/blocks/webdav/java/org/apache/cocoon/components/repository - New directory
gcasper 2004/04/02 06:53:28 cocoon-2.1/src/blocks/webdav/java/org/apache/cocoon/components/repository - New directory
cvs commit: cocoon-2.1/src/blocks/webdav/conf webdav-repository.xconf
gcasper 2004/04/02 06:53:53 Added: src/blocks/webdav/conf webdav-repository.xconf Log: repository component for WebDAV Revision ChangesPath 1.1 cocoon-2.1/src/blocks/webdav/conf/webdav-repository.xconf Index: webdav-repository.xconf === ?xml version=1.0? !-- Copyright 1999-2004 The Apache Software Foundation Licensed under the Apache License, Version 2.0 (the License); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an AS IS BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -- xconf xpath=/cocoon/[EMAIL PROTECTED]'org.apache.cocoon.components.repository.RepositoryManager'] unless=[EMAIL PROTECTED]'webdav'] repository name=webdav class=org.apache.cocoon.components.repository.impl.WebDAVRepository repo-baselocalhost/webdav//repo-base /repository /xconf
cvs commit: cocoon-2.1/src/blocks/webdav/java/org/apache/cocoon/components/webdav - New directory
gcasper 2004/03/28 02:53:30 cocoon-2.1/src/blocks/webdav/java/org/apache/cocoon/components/webdav - New directory
cvs commit: cocoon-2.1/src/blocks/webdav/java/org/apache/cocoon/components/webdav WebDAVUtil.java
gcasper 2004/03/28 02:53:35 Added: src/blocks/webdav/java/org/apache/cocoon/components/webdav WebDAVUtil.java Log: Added WebDAVUtil Revision ChangesPath 1.1 cocoon-2.1/src/blocks/webdav/java/org/apache/cocoon/components/webdav/WebDAVUtil.java Index: WebDAVUtil.java === /* * Copyright 1999-2004 The Apache Software Foundation. * * Licensed under the Apache License, Version 2.0 (the License); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an AS IS BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package org.apache.cocoon.components.webdav; import java.io.IOException; import java.util.ArrayList; import java.util.Enumeration; import java.util.HashMap; import java.util.Hashtable; import java.util.List; import java.util.Map; import java.util.Set; import java.util.Vector; import org.apache.cocoon.components.source.helpers.SourceProperty; import org.apache.commons.httpclient.HttpException; import org.apache.commons.httpclient.HttpURL; import org.apache.webdav.lib.Property; import org.apache.webdav.lib.PropertyName; import org.apache.webdav.lib.ResponseEntity; import org.apache.webdav.lib.WebdavResource; /** * A utility for WebDAV. */ public class WebDAVUtil { static private String staticURI; static private WebdavResource staticResource; /** * instantiate a WebdavResource object from a given uri * * @param uri the uri of the resource. * @throws HttpException * @throws IOException */ static synchronized public WebdavResource getWebdavResource(String uri) throws HttpException, IOException { if (uri == null) return null; if (uri.equals(staticURI)) return staticResource; HttpURL sourceURL = new HttpURL(uri); staticURI = uri; staticResource = new WebdavResource(sourceURL); return staticResource; } /** * create a new resource on the server * * @param uri the uri of the resource. * @param content the content to initialize the resource with. * @throws HttpException * @throws IOException */ static public void createResource(String uri, String content) throws HttpException, IOException { HttpURL sourceURL = new HttpURL(uri); (new WebdavResource(sourceURL, WebdavResource.NOACTION, WebdavResource.getDefaultDepth())) .putMethod(content); } /** * copy a WebDAV resource * * @param from the URI of the resource to copy * @param to the URI of the destination * @param overwrite if true overwrites the destination * @param recurse if true recursively creates parent collections if not existant * @throws HttpException * @throws IOException */ static public void copyResource(String from, String to, boolean recurse, boolean overwrite) throws HttpException, IOException { String relativeDestination = (to.substring(to.indexOf(://) + 3)); relativeDestination = relativeDestination.substring(relativeDestination.indexOf(/)); // make parentCollection of target if not existant if (recurse) WebDAVUtil.makePath(to.substring(0, to.lastIndexOf(/))); // copy the resource WebdavResource resource = WebDAVUtil.getWebdavResource(from); resource.setOverwrite(overwrite); if (!resource.copyMethod(relativeDestination)) { throw new HttpException(Error copying resource: + from + Status: + resource.getStatusCode() + Message: + resource.getStatusMessage()); } } /** * move a WebDAV resource * * @param from the URI of the resource to move * @param to the URI of the destination * @param overwrite if true overwrites the destination * @param recurse if true recursively creates parent collections if not existant * @throws HttpException * @throws IOException */ static public void moveResource(String from, String to, boolean recurse, boolean overwrite) throws HttpException, IOException { String relativeDestination = (to.substring(to.indexOf(://) + 3)); relativeDestination
cvs commit: cocoon-2.1/src/blocks/webdav/test/anteater davmap.xml
gcasper 2004/03/28 10:13:13 Added: src/blocks/webdav/test/anteater davmap.xml Log: Added first Anteater test for davmap sample Revision ChangesPath 1.1 cocoon-2.1/src/blocks/webdav/test/anteater/davmap.xml Index: davmap.xml === ?xml version=1.0 encoding=utf-8? !-- Copyright 1999-2004 The Apache Software Foundation Licensed under the Apache License, Version 2.0 (the License); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an AS IS BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -- project name=webdav-test default=webdav-davmap group id=default property name=usetidy value=true/ /group target name=webdav-davmap property name=davmap.samples value=${anteater.env.cocoon}samples/webdav/ property name=davmap.title value=repo/ echosamples=${davmap.samples}/echo !-- checking the davmap sample -- httpRequest href=${davmap.samples}/davmap/repo/ description=Test the 'davmap' sample match xpath select=/html/head/title pattern=${davmap.title}/ /match /httpRequest httpRequest href=${davmap.samples}/davmap/repo/contentB.xml method=PUT description=Test the 'davmap' sample contentEquals![CDATA[ page titlePage 2/title content paraParagraph 1/para paraParagraph 2/para /content /page ]]/contentEquals match responseCode value=201/ /match /httpRequest httpRequest href=${davmap.samples}/davmap/repo/contentB.xml useTidy=false description=Test the 'davmap' sample match xpath select=/page/title pattern=Page 2/ /match /httpRequest httpRequest href=${davmap.samples}/davmap/repo/contentB.xml method=DELETE description=Test the 'davmap' sample match responseCode value=200/ /match /httpRequest /target /project
cvs commit: cocoon-2.1/src/blocks/repository/java/org/apache/cocoon/components/repository/helpers - New directory
gcasper 2004/03/27 07:21:40 cocoon-2.1/src/blocks/repository/java/org/apache/cocoon/components/repository/helpers - New directory
cvs commit: cocoon-2.1/lib jars.xml
gcasper 2004/03/22 09:05:29 Modified:src/blocks/webdav/java/org/apache/cocoon/components/source/impl WebDAVSource.java src/blocks/webdav/java/org/apache/cocoon/transformation DASLTransformer.java lib jars.xml Added: src/blocks/webdav/lib jakarta-slide-webdavlib-2.0beta1.jar Removed: src/blocks/webdav/lib slide-webdavlib-20030711.jar Log: Updated SWCL to 2.0beta1 Revision ChangesPath 1.1 cocoon-2.1/src/blocks/webdav/lib/jakarta-slide-webdavlib-2.0beta1.jar Binary file 1.21 +8 -11 cocoon-2.1/src/blocks/webdav/java/org/apache/cocoon/components/source/impl/WebDAVSource.java Index: WebDAVSource.java === RCS file: /home/cvs/cocoon-2.1/src/blocks/webdav/java/org/apache/cocoon/components/source/impl/WebDAVSource.java,v retrieving revision 1.20 retrieving revision 1.21 diff -u -r1.20 -r1.21 --- WebDAVSource.java 5 Mar 2004 13:02:26 - 1.20 +++ WebDAVSource.java 22 Mar 2004 17:05:28 - 1.21 @@ -42,13 +42,13 @@ import org.apache.cocoon.components.source.helpers.SourceProperty; import org.apache.cocoon.components.source.InspectableSource; import org.apache.cocoon.xml.XMLUtils; +import org.apache.commons.httpclient.HttpURL; import org.apache.commons.httpclient.HttpException; import org.apache.excalibur.source.ModifiableTraversableSource; import org.apache.excalibur.source.Source; import org.apache.excalibur.source.SourceException; import org.apache.excalibur.source.SourceValidity; import org.apache.excalibur.source.impl.validity.TimeStampValidity; -import org.apache.util.HttpURL; import org.apache.webdav.lib.WebdavResource; import org.apache.webdav.lib.methods.DepthSupport; import org.apache.webdav.lib.Property; @@ -84,10 +84,6 @@ private static final String COLLECTION_NAME = collection; -static { -WebdavResource.setGetUseDisk(false); -} - private String systemId; private String location; @@ -117,7 +113,7 @@ this.systemId = http://; + location; HttpURL httpURL = new HttpURL(this.systemId); -httpURL.setUserInfo(principal, password); +httpURL.setUserinfo(principal, password); if (createNew) { this.resource = new WebdavResource(httpURL, @@ -170,15 +166,17 @@ /** * Constructor used by the Traversable methods to build children. */ -private WebDAVSource (WebdavResource source) +private WebDAVSource (WebdavResource source, String principal, String password) throws HttpException, IOException { this.resource = source; this.systemId = source.getHttpURL().getURI(); +source.getHttpURL().setUserinfo(principal, password); //fix trailing slash if (this.resource.isCollection() (this.systemId.endsWith(/) == false)) { this.systemId = this.systemId+/; HttpURL httpURL = new HttpURL(this.systemId); +httpURL.setUserinfo(principal, password); this.resource.setHttpURL(httpURL); } } @@ -396,7 +394,7 @@ if (sourcecredential == null) return; try { HttpURL httpURL = new HttpURL(this.systemId); -httpURL.setUserInfo( +httpURL.setUserinfo( sourcecredential.getPrincipal(), sourcecredential.getPassword()); this.resource = new WebdavResource(httpURL); @@ -435,7 +433,6 @@ protected WebDAVSourceOutputStream(WebdavResource resource) { this.resource = resource; -WebdavResource.setGetUseDisk(false); } public void close() throws IOException { @@ -607,7 +604,7 @@ try { WebdavResource[] resources = this.resource.listWebdavResources(); for (int i = 0; i resources.length; i++) { -WebDAVSource src = new WebDAVSource(resources[i]); +WebDAVSource src = new WebDAVSource(resources[i], this.principal, this.password); children.add(src); } } catch (HttpException e) { 1.7 +1 -1 cocoon-2.1/src/blocks/webdav/java/org/apache/cocoon/transformation/DASLTransformer.java Index: DASLTransformer.java === RCS file: /home/cvs/cocoon-2.1/src/blocks/webdav/java/org/apache/cocoon/transformation/DASLTransformer.java,v retrieving revision 1.6 retrieving revision 1.7 diff -u -r1.6 -r1.7 --- DASLTransformer.java 17 Mar 2004 12:09:52 - 1.6 +++ DASLTransformer.java 22 Mar 2004 17:05:28 - 1.7 @@ -210,7
cvs commit: cocoon-2.1/src/blocks/webdav/java/org/apache/cocoon/components/source/impl WebDAVSource.java
gcasper 2003/12/22 07:44:42 Modified:src/blocks/webdav/java/org/apache/cocoon/components/source/impl WebDAVSource.java Log: principal and password already encoded in url Revision ChangesPath 1.15 +1 -2 cocoon-2.1/src/blocks/webdav/java/org/apache/cocoon/components/source/impl/WebDAVSource.java Index: WebDAVSource.java === RCS file: /home/cvs/cocoon-2.1/src/blocks/webdav/java/org/apache/cocoon/components/source/impl/WebDAVSource.java,v retrieving revision 1.14 retrieving revision 1.15 diff -u -r1.14 -r1.15 --- WebDAVSource.java 17 Dec 2003 13:42:14 - 1.14 +++ WebDAVSource.java 22 Dec 2003 15:44:42 - 1.15 @@ -214,7 +214,6 @@ if (this.resource.isCollection() (this.systemId.endsWith(/) == false)) { this.systemId = this.systemId+/; HttpURL httpURL = new HttpURL(this.systemId); -httpURL.setUserInfo(this.principal, this.password); this.resource.setHttpURL(httpURL); } }
cvs commit: cocoon-2.1/src/blocks/webdav/java/org/apache/cocoon/components/source/impl WebDAVSource.java
gcasper 2003/12/17 05:42:14 Modified:src/blocks/webdav/java/org/apache/cocoon/components/source/impl WebDAVSource.java Log: Interoperability with mod_dav Revision ChangesPath 1.14 +11 -2 cocoon-2.1/src/blocks/webdav/java/org/apache/cocoon/components/source/impl/WebDAVSource.java Index: WebDAVSource.java === RCS file: /home/cvs/cocoon-2.1/src/blocks/webdav/java/org/apache/cocoon/components/source/impl/WebDAVSource.java,v retrieving revision 1.13 retrieving revision 1.14 diff -u -r1.13 -r1.14 --- WebDAVSource.java 23 Nov 2003 04:30:52 - 1.13 +++ WebDAVSource.java 17 Dec 2003 13:42:14 - 1.14 @@ -205,9 +205,18 @@ /** * Constructor used by the Traversable methods to build children. */ -private WebDAVSource (WebdavResource source) { +private WebDAVSource (WebdavResource source) +throws HttpException, IOException { this.resource = source; this.systemId = source.getHttpURL().getURI(); + + //fix trailing slash +if (this.resource.isCollection() (this.systemId.endsWith(/) == false)) { +this.systemId = this.systemId+/; +HttpURL httpURL = new HttpURL(this.systemId); +httpURL.setUserInfo(this.principal, this.password); +this.resource.setHttpURL(httpURL); +} } /**
cvs commit: cocoon-2.1/src/blocks/webdav/java/org/apache/cocoon/components/source/impl WebDAVSource.java
gcasper 2003/11/22 05:03:38 Modified:src/blocks/webdav/java/org/apache/cocoon/components/source/impl WebDAVSource.java Log: Fixed setSourceProperty and optimized getSourceProperty Revision ChangesPath 1.12 +17 -15 cocoon-2.1/src/blocks/webdav/java/org/apache/cocoon/components/source/impl/WebDAVSource.java Index: WebDAVSource.java === RCS file: /home/cvs/cocoon-2.1/src/blocks/webdav/java/org/apache/cocoon/components/source/impl/WebDAVSource.java,v retrieving revision 1.11 retrieving revision 1.12 diff -u -r1.11 -r1.12 --- WebDAVSource.java 21 Nov 2003 11:48:14 - 1.11 +++ WebDAVSource.java 22 Nov 2003 13:03:38 - 1.12 @@ -93,10 +93,10 @@ import org.xml.sax.SAXException; import org.xml.sax.helpers.AttributesImpl; -import org.w3c.dom.Document; -import org.w3c.dom.DocumentFragment; import org.w3c.dom.Element; +import org.w3c.dom.Node; import org.w3c.dom.NodeList; +import org.w3c.dom.Text; /** * A source implementation to get access to WebDAV repositories. Use it @@ -774,20 +774,18 @@ public SourceProperty getSourceProperty (String namespace, String name) throws SourceException { + Vector propNames = new Vector(1); + propNames.add(new PropertyName(namespace,name)); Enumeration props= null; org.apache.webdav.lib.Property prop = null; try { - Enumeration responses = this.resource.propfindMethod(0); + Enumeration responses = this.resource.propfindMethod(0, propNames); while (responses.hasMoreElements()) { ResponseEntity response = (ResponseEntity)responses.nextElement(); props = response.getProperties(); - while (props.hasMoreElements()) { + if (props.hasMoreElements()) { prop = (Property) props.nextElement(); - - if (namespace.equals(prop.getNamespaceURI()) - name.equals(prop.getLocalName())){ - return new SourceProperty(prop.getElement()); - } + return new SourceProperty(prop.getElement()); } } } catch (Exception e) { @@ -825,22 +823,26 @@ throws SourceException { try { -Document doc = sourceproperty.getValue().getOwnerDocument(); -DocumentFragment frag = doc.createDocumentFragment(); + Node node = null; NodeList list = sourceproperty.getValue().getChildNodes(); for (int i=0; ilist.getLength(); i++) { -if (list.item(i) instanceof Element) -frag.appendChild(list.item(i)); +if ((list.item(i) instanceof Text !.equals(list.item(i).getNodeValue())) +|| list.item(i) instanceof Element) { + +node = list.item(i); +break; +} } Properties format = new Properties(); format.put(OutputKeys.METHOD, xml); format.put(OutputKeys.OMIT_XML_DECLARATION, yes); -String prop = XMLUtils.serializeNode(frag, format); +String prop = XMLUtils.serializeNode(node, format); this.resource.proppatchMethod( new PropertyName(sourceproperty.getNamespace(),sourceproperty.getName()), prop, true); + } catch (Exception e) { throw new SourceException(Could not set property , e); }
cvs commit: cocoon-2.1/src/blocks/repository/java/org/apache/cocoon/transformation SourcePropsWritingTransformer.java
gcasper 2003/11/22 05:11:52 Modified:src/blocks/repository/java/org/apache/cocoon/transformation SourcePropsWritingTransformer.java Log: Updated javadocs Revision ChangesPath 1.4 +7 -5 cocoon-2.1/src/blocks/repository/java/org/apache/cocoon/transformation/SourcePropsWritingTransformer.java Index: SourcePropsWritingTransformer.java === RCS file: /home/cvs/cocoon-2.1/src/blocks/repository/java/org/apache/cocoon/transformation/SourcePropsWritingTransformer.java,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- SourcePropsWritingTransformer.java15 Nov 2003 04:21:29 - 1.3 +++ SourcePropsWritingTransformer.java22 Nov 2003 13:11:52 - 1.4 @@ -67,7 +67,7 @@ import org.xml.sax.SAXException; /** - * This transformer allows you to set properties on an InspectableSource. + * This transformer allows you to set and remove properties on an InspectableSource. * * pInput XML document example:/p * pre @@ -75,10 +75,12 @@ * ... * lt;source:patch xmlns:source=http://apache.org/cocoon/propwrite/1.0gt; * lt;source:sourcegt;webdav://localhost/webdav/step1/repo/contentA.xmllt;/source:sourcegt; - * lt;source:prop name=author namespace=metagt;melt;/source:propgt; - * lt;source:propsgt; + * lt;source:setgt; * lt;myns:author xmlns:myns=metagt;melt;/myns:authorgt; - * lt;/source:propsgt; + * lt;/source:setgt; + * lt;source:removegt; + * lt;myns:title xmlns:myns=meta/gt; + * lt;/source:removegt; * lt;/source:patchgt; * ... * lt;/pagegt;
cvs commit: cocoon-2.1/src/blocks/repository/conf - New directory
gcasper 2003/10/22 11:52:44 cocoon-2.1/src/blocks/repository/conf - New directory
cvs commit: cocoon-2.1/src/blocks/repository/java - New directory
gcasper 2003/10/22 11:52:44 cocoon-2.1/src/blocks/repository/java - New directory
cvs commit: cocoon-2.1/src/blocks/repository/java/org - New directory
gcasper 2003/10/22 11:52:44 cocoon-2.1/src/blocks/repository/java/org - New directory
cvs commit: cocoon-2.1/src/blocks/repository/java/org/apache/cocoon/components/source/helpers - New directory
gcasper 2003/10/22 11:52:44 cocoon-2.1/src/blocks/repository/java/org/apache/cocoon/components/source/helpers - New directory
cvs commit: cocoon-2.1/src/blocks/repository/java/org/apache/cocoon/generation - New directory
gcasper 2003/10/22 14:11:05 cocoon-2.1/src/blocks/repository/java/org/apache/cocoon/generation - New directory
cvs commit: cocoon-2.1 gump.xml blocks.properties
gcasper 2003/10/22 14:11:19 Modified:.gump.xml blocks.properties Added: src/blocks/repository/java/org/apache/cocoon/generation TraversableSourceDescriptionGenerator.java Removed: src/blocks/scratchpad/java/org/apache/cocoon/generation TraversableSourceDescriptionGenerator.java Log: Moved TraversableSourceDescriptionGenerator from scratchpad block to repository block Revision ChangesPath 1.1 cocoon-2.1/src/blocks/repository/java/org/apache/cocoon/generation/TraversableSourceDescriptionGenerator.java Index: TraversableSourceDescriptionGenerator.java === /* The Apache Software License, Version 1.1 Copyright (C) 1999-2003 The Apache Software Foundation. All rights reserved. Redistribution and use in source and binary forms, with or without modifica- tion, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3. The end-user documentation included with the redistribution, if any, must include the following acknowledgment: This product includes software developed by the Apache Software Foundation (http://www.apache.org/). Alternately, this acknowledgment may appear in the software itself, if and wherever such third-party acknowledgments normally appear. 4. The names Apache Cocoon and Apache Software Foundation must not be used to endorse or promote products derived from this software without prior written permission. For written permission, please contact [EMAIL PROTECTED] 5. Products derived from this software may not be called Apache, nor may Apache appear in their name, without prior written permission of the Apache Software Foundation. THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLU- DING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. This software consists of voluntary contributions made by many individuals on behalf of the Apache Software Foundation and was originally created by Stefano Mazzocchi [EMAIL PROTECTED]. For more information on the Apache Software Foundation, please see http://www.apache.org/. */ package org.apache.cocoon.generation; import java.io.IOException; import java.util.Enumeration; import java.util.Map; import org.apache.avalon.framework.parameters.Parameters; import org.apache.avalon.framework.service.ServiceException; import org.apache.cocoon.ProcessingException; import org.apache.cocoon.components.source.InspectableSource; import org.apache.cocoon.components.source.LockableSource; import org.apache.cocoon.components.source.RestrictableSource; import org.apache.cocoon.components.source.SourceInspector; import org.apache.cocoon.components.source.VersionableSource; import org.apache.cocoon.components.source.helpers.GroupSourcePermission; import org.apache.cocoon.components.source.helpers.PrincipalSourcePermission; import org.apache.cocoon.components.source.helpers.SourceLock; import org.apache.cocoon.components.source.helpers.SourcePermission; import org.apache.cocoon.components.source.helpers.SourceProperty; import org.apache.cocoon.environment.SourceResolver; import org.apache.excalibur.source.Source; import org.apache.excalibur.source.SourceException; import org.apache.excalibur.source.TraversableSource; import org.xml.sax.SAXException; import org.xml.sax.helpers.AttributesImpl; /** * * This Generator augments the output of the TraversableGenerator. * p * It adds: * ul * liversion information if the Source implements VersionableSource./li * lilocking
cvs commit: cocoon-2.1/src/documentation/xdocs who.xml
gcasper 2003/09/21 23:12:55 Modified:src/documentation/xdocs who.xml Log: Adding my name to the active committers list. Revision ChangesPath 1.10 +1 -0 cocoon-2.1/src/documentation/xdocs/who.xml Index: who.xml === RCS file: /home/cvs/cocoon-2.1/src/documentation/xdocs/who.xml,v retrieving revision 1.9 retrieving revision 1.10 diff -u -r1.9 -r1.10 --- who.xml 21 Sep 2003 21:30:20 - 1.9 +++ who.xml 22 Sep 2003 06:12:55 - 1.10 @@ -38,6 +38,7 @@ ul liNicola Ken Barozzi (nicolaken.at.apache.org)/li liMark Butler (butlermh.at.apache.org)/li + liGuido Casper (gcasper.at.apache.org)/li liUgo Cei (ugo.at.apache.org)/li liMarcus Crafter (crafterm.at.apache.org)/li liDavid Crossley (crossley.at.apache.org)/li
cvs commit: cocoon-2.1/src/java/org/apache/cocoon/bean CocoonWrapper.java
gcasper 2003/09/19 03:10:12 Modified:src/java/org/apache/cocoon/bean CocoonWrapper.java Log: Fix build Revision ChangesPath 1.8 +2 -2 cocoon-2.1/src/java/org/apache/cocoon/bean/CocoonWrapper.java Index: CocoonWrapper.java === RCS file: /home/cvs/cocoon-2.1/src/java/org/apache/cocoon/bean/CocoonWrapper.java,v retrieving revision 1.7 retrieving revision 1.8 diff -u -r1.7 -r1.8 --- CocoonWrapper.java19 Sep 2003 09:09:43 - 1.7 +++ CocoonWrapper.java19 Sep 2003 10:10:12 - 1.8 @@ -109,7 +109,7 @@ private String workDir = Constants.DEFAULT_WORK_DIR; private String logKit = null; -private String logger = null; +protected String logger = null; private String userAgent = DEFAULT_USER_AGENT; private String accept = DEFAULT_ACCEPT; private List classList = new ArrayList();
cvs commit: cocoon-2.1/src/blocks/webdav/test - New directory
gcasper 2003/09/19 04:40:40 cocoon-2.1/src/blocks/webdav/test - New directory
cvs commit: cocoon-2.1/src/blocks/webdav/test/anteater - New directory
gcasper 2003/09/19 04:40:58 cocoon-2.1/src/blocks/webdav/test/anteater - New directory
cvs commit: cocoon-2.1/src/blocks/webdav/test/anteater step3.xml
gcasper 2003/09/19 04:41:49 Added: src/blocks/webdav/test/anteater step3.xml Log: Added Anteater test Revision ChangesPath 1.1 cocoon-2.1/src/blocks/webdav/test/anteater/step3.xml Index: step3.xml === ?xml version=1.0 encoding=utf-8? project name=webdav-test default=webdav-step3 group id=default property name=usetidy value=true/ /group target name=webdav-step3 property name=samples value=${cocoon}/samples/webdav/ !-- testing basic TraversableGenerator functionality -- httpRequest href=${samples}/step1/repo/ useTidy=false description=Test the 'step1' sample namespace prefix=collection uri=http://apache.org/cocoon/collection/1.0/ match xpath select=/collection:collection/collection:resource/@name value=contentA.xml/ /match /httpRequest !-- check contents of contentB.xml -- httpRequest href=${samples}/step3/repo/dir2/contentB.xml description=Test the 'step3' sample match xpath select=/html/body/form/p/[EMAIL PROTECTED]'title']/@value pattern=Content B/ xpath select=/html/body/form/p/textarea pattern=First Paragraph/ xpath select=/html/body/form/p/textarea pattern=Second Paragraph/ xpath select=/html/body/form/@action assign=action/ /match /httpRequest !-- change contents of contentB.xml -- httpRequest href=${cocoon}${action} useTidy=false description=Test the 'step3' sample parameter name=title value=Title B/ parameter name=para value=test2/ parameter name=para value=test2/ match xpath select=/page/sourceResult/execution value=success/ /match /httpRequest !-- check changes -- httpRequest href=${samples}/step3/repo/dir2/contentB.xml description=Test the 'step3' sample match xpath select=/html/body/form/p/[EMAIL PROTECTED]'title']/@value pattern=Title B/ xpath select=/html/body/form/p/textarea pattern=test2/ xpath select=/html/body/form/@action assign=action/ /match /httpRequest !-- undo changes -- httpRequest href=${cocoon}${action} useTidy=false description=Test the 'step3' sample parameter name=title value=Content B/ parameter name=para value=First Paragraph/ parameter name=para value=Second Paragraph/ match xpath select=/page/sourceResult/execution value=success/ /match /httpRequest !-- check success of undo -- httpRequest href=${samples}/step3/repo/dir2/contentB.xml description=Test the 'step3' sample match xpath select=/html/body/form/p/[EMAIL PROTECTED]'title']/@value pattern=Content B/ xpath select=/html/body/form/p/textarea pattern=First Paragraph/ xpath select=/html/body/form/p/textarea pattern=Second Paragraph/ xpath select=/html/body/form/@action assign=action/ /match /httpRequest /target /project
cvs commit: cocoon-2.1/src/targets test-build.xml
gcasper 2003/09/19 04:43:55 Modified:src/targets test-build.xml Log: Minor fix Revision ChangesPath 1.20 +1 -1 cocoon-2.1/src/targets/test-build.xml Index: test-build.xml === RCS file: /home/cvs/cocoon-2.1/src/targets/test-build.xml,v retrieving revision 1.19 retrieving revision 1.20 diff -u -r1.19 -r1.20 --- test-build.xml11 Sep 2003 22:55:56 - 1.19 +++ test-build.xml19 Sep 2003 11:43:55 - 1.20 @@ -21,7 +21,7 @@ /target !-- Anteater tests -- - target name=anteater-tests depends=block-anteater-tests + target name=anteater-tests depends=compile-tests,block-anteater-tests property name=host value=localhost/ property name=port value=/ property name=base value=//
cvs commit: cocoon-2.1/src/targets test-build.xml
gcasper 2003/09/11 07:38:55 Modified:src/targets test-build.xml Log: -Uncommented anteater-tests target -Removed dependency from test target on anteater-tests target -Added warning message to anteater-tests target Revision ChangesPath 1.17 +7 -4 cocoon-2.1/src/targets/test-build.xml Index: test-build.xml === RCS file: /home/cvs/cocoon-2.1/src/targets/test-build.xml,v retrieving revision 1.16 retrieving revision 1.17 diff -u -r1.16 -r1.17 --- test-build.xml31 Aug 2003 16:32:34 - 1.16 +++ test-build.xml11 Sep 2003 14:38:55 - 1.17 @@ -1,7 +1,7 @@ !-- === Test targets === -- !-- Runs all tests -- - target name=test depends=junit-tests, anteater-tests, block-tests description=Runs all tests/ + target name=test depends=junit-tests, block-tests description=Runs all tests/ !-- Runs JUnit tests -- target name=junit-tests depends=compile-tests @@ -25,9 +25,13 @@ property name=host value=localhost/ property name=port value=/ property name=base value=// - -!-- adjust anteater.home property and uncomment to enable Anteater functional tests property name=anteater.home value=D:\downloads\anteater-0.9.16/ +echo+| W A R N I N G |--+ /echo +echo The value of the anteater.home property is: /echo +echo ${anteater.home} /echo +echo Please make sure the anteater.home property points to /echo +echo your local Anteater installation /echo +echo+---+ /echo java classname=org.apache.tools.ant.Main fork=true classpath fileset dir=${anteater.home} @@ -43,7 +47,6 @@ jvmarg value=-Djava.endorsed.dirs=${anteater.home}/lib/ arg line=-f src/test/anteater/all-tests.xml -Dhost=${host} -Dport=${port} -Dbase=${base}/ /java --- /target !-- Block tests --
cvs commit: cocoon-2.1/tools/src blocks-build.xsl
gcasper 2003/09/11 15:55:56 Modified:src/targets test-build.xml src/test/anteater all-tests.xml tools/src blocks-build.xsl Log: Enabled Anteater tests per block Revision ChangesPath 1.19 +10 -2 cocoon-2.1/src/targets/test-build.xml Index: test-build.xml === RCS file: /home/cvs/cocoon-2.1/src/targets/test-build.xml,v retrieving revision 1.18 retrieving revision 1.19 diff -u -r1.18 -r1.19 --- test-build.xml11 Sep 2003 17:08:38 - 1.18 +++ test-build.xml11 Sep 2003 22:55:56 - 1.19 @@ -21,7 +21,7 @@ /target !-- Anteater tests -- - target name=anteater-tests + target name=anteater-tests depends=block-anteater-tests property name=host value=localhost/ property name=port value=/ property name=base value=// @@ -42,7 +42,7 @@ jvmarg value=-Danteater.resources=${anteater.home}/resources/ jvmarg value=-Danteater.report=${anteater.home}/resources/scripts/report.xml/ jvmarg value=-Djava.endorsed.dirs=${anteater.home}/lib/ - arg line=-f src/test/anteater/all-tests.xml -Dhost=${host} -Dport=${port} -Dbase=${base}/ + arg line=-f ${build.test}/anteater/all-tests.xml -Dhost=${host} -Dport=${port} -Dbase=${base}/ /java /target @@ -56,3 +56,11 @@ /target + target name=block-anteater-tests depends=prepare-blocks + +ant antfile=${build.temp}/blocks-build.xml + inheritAll=true + inheritRefs=false + target=prepare-anteater-tests/ + + /target 1.4 +6 -14 cocoon-2.1/src/test/anteater/all-tests.xml Index: all-tests.xml === RCS file: /home/cvs/cocoon-2.1/src/test/anteater/all-tests.xml,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- all-tests.xml 31 Aug 2003 16:32:34 - 1.3 +++ all-tests.xml 11 Sep 2003 22:55:56 - 1.4 @@ -10,12 +10,11 @@ Description: - To write a new Anteater test, just create a new Ant XML file and - define a target whose name is the same as the filename, except for - the .xml suffix. Then go in the top level directory of Cocoon and + To write a new Anteater test, just create a new Ant XML file with + a default target. Then go in the top level directory of Cocoon and type: - ./build.sh test + ./build.sh anteater-tests The newly added test file will be picked up and executed auto-magically. @@ -29,16 +28,9 @@ taskdef resource=net/sf/antcontrib/antcontrib.properties/ target name=init -property name=port value=8100/ property name=cocoon value=http://${host}:${port}/${base}/ -property name=src-webapp-dir value=../../webapp/ -property name=deploy-dir value=../../../build/webapp/ - /target - - target name=deploy -servletContainer port=${port}/ -deploy path=/cocoon webapp=${deploy-dir}/ -sleep seconds=5/ +property name=src-webapp-dir value=../../../../src/webapp/ +property name=deploy-dir value=../../../../build/webapp/ /target target name=all depends=init @@ -53,6 +45,6 @@ target name=runtest depends=init basename property=target file=${name} suffix=.xml/ echo message=running test ${target} in dir ${basedir}/ -ant antfile=${target}.xml dir=${basedir} target=${target} inheritAll=yes/ +ant antfile=${target}.xml dir=${basedir} inheritAll=yes/ /target /project 1.34 +24 -0 cocoon-2.1/tools/src/blocks-build.xsl Index: blocks-build.xsl === RCS file: /home/cvs/cocoon-2.1/tools/src/blocks-build.xsl,v retrieving revision 1.33 retrieving revision 1.34 diff -u -r1.33 -r1.34 --- blocks-build.xsl 8 Sep 2003 22:25:27 - 1.33 +++ blocks-build.xsl 11 Sep 2003 22:55:56 - 1.34 @@ -103,6 +103,16 @@ /xsl:attribute /target +target name=prepare-anteater-tests + xsl:attribute name=depends +xsl:textinit/xsl:text +xsl:for-each select=$cocoon-blocks + xsl:text,/xsl:text + xsl:value-of select=concat(@name, '-prepare-anteater-tests')/ +/xsl:for-each + /xsl:attribute +/target + !-- Check if javadocs have to be generated -- target name=javadocs-check mkdir dir={string('${build.javadocs}')}/ @@ -528,6 +538,20 @@ /fileset /batchtest /junit +/target +target name=[EMAIL PROTECTED] unless=unless.exclude.block.{$block-name} + + !-- Test if this block has Anteater tests -- + available property={$block-name}.has.anteater-tests file={string('${blocks}')}/{$block-name
cvs commit: cocoon-2.1/src/blocks/slide/java/org/apache/cocoon/components/source/helpers SourceProperty.java
gcasper 2003/09/08 13:50:42 Modified:src/blocks/slide/java/org/apache/cocoon/components/source/helpers SourceProperty.java Log: Cleanup Revision ChangesPath 1.5 +1 -2 cocoon-2.1/src/blocks/slide/java/org/apache/cocoon/components/source/helpers/SourceProperty.java Index: SourceProperty.java === RCS file: /home/cvs/cocoon-2.1/src/blocks/slide/java/org/apache/cocoon/components/source/helpers/SourceProperty.java,v retrieving revision 1.4 retrieving revision 1.5 diff -u -r1.4 -r1.5 --- SourceProperty.java 5 Sep 2003 07:31:44 - 1.4 +++ SourceProperty.java 8 Sep 2003 20:50:42 - 1.5 @@ -191,7 +191,6 @@ attrs.addAttribute(XMLNS_NS, NS_PREFIX, xmlns:+NS_PREFIX, NMTOKEN, namespace); -attrs.addAttribute(, foo, foo, NMTOKEN, bar); builder.startElement(namespace, name, D_PREFIX+name, attrs);
cvs commit: cocoon-2.1/src/webapp/samples/flow/test sendpage.js sitemap.xmap
gcasper 2003/08/31 09:32:34 Modified:src/targets test-build.xml src/test/anteater all-tests.xml calc.xml flowscriptReload.xml sitemapReload.xml src/webapp/samples/flow/test sendpage.js sitemap.xmap Log: Fixed Anteater functional tests Revision ChangesPath 1.16 +16 -6 cocoon-2.1/src/targets/test-build.xml Index: test-build.xml === RCS file: /home/cvs/cocoon-2.1/src/targets/test-build.xml,v retrieving revision 1.15 retrieving revision 1.16 diff -u -r1.15 -r1.16 --- test-build.xml18 May 2003 17:03:06 - 1.15 +++ test-build.xml31 Aug 2003 16:32:34 - 1.16 @@ -26,13 +26,23 @@ property name=port value=/ property name=base value=// -!-- FIXME: Anteater invocation is platform specific -exec executable=cmd - arg line=/C C:\Java\anteater-0.9.15\bin\anteater.bat -f src/test/anteater/all-tests.xml -Dhost=${host} -Dport=${port} -Dbase=${base}/ -/exec -exec executable=anteater +!-- adjust anteater.home property and uncomment to enable Anteater functional tests +property name=anteater.home value=D:\downloads\anteater-0.9.16/ +java classname=org.apache.tools.ant.Main fork=true + classpath +fileset dir=${anteater.home} + include name=lib/**/*.jar/ + include name=tomcat/**/*.jar/ +/fileset +pathelement location=${anteater.home}/resources/ + /classpath + jvmarg value=-Dant.home=${anteater.home}/ + jvmarg value=-Danteater.home=${anteater.home}/ + jvmarg value=-Danteater.resources=${anteater.home}/resources/ + jvmarg value=-Danteater.report=${anteater.home}/resources/scripts/report.xml/ + jvmarg value=-Djava.endorsed.dirs=${anteater.home}/lib/ arg line=-f src/test/anteater/all-tests.xml -Dhost=${host} -Dport=${port} -Dbase=${base}/ -/exec +/java -- /target 1.3 +1 -1 cocoon-2.1/src/test/anteater/all-tests.xml Index: all-tests.xml === RCS file: /home/cvs/cocoon-2.1/src/test/anteater/all-tests.xml,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- all-tests.xml 20 May 2003 00:54:12 - 1.2 +++ all-tests.xml 31 Aug 2003 16:32:34 - 1.3 @@ -32,7 +32,7 @@ property name=port value=8100/ property name=cocoon value=http://${host}:${port}/${base}/ property name=src-webapp-dir value=../../webapp/ -property name=deploy-dir value=../../../build/cocoon/webapp/ +property name=deploy-dir value=../../../build/webapp/ /target target name=deploy 1.5 +3 -3 cocoon-2.1/src/test/anteater/calc.xml Index: calc.xml === RCS file: /home/cvs/cocoon-2.1/src/test/anteater/calc.xml,v retrieving revision 1.4 retrieving revision 1.5 diff -u -r1.4 -r1.5 --- calc.xml 20 May 2003 00:54:12 - 1.4 +++ calc.xml 31 Aug 2003 16:32:34 - 1.5 @@ -33,7 +33,7 @@ httpRequest href=${calc}/${cont3} parameter name=operator value=plus/ match - xpath select=html/body//form/p/font[contains(text(),'Result')]/b + xpath select=html/body//form/p[contains(text(),'Result')]/strong value=3.0 assign=result/ /match @@ -50,7 +50,7 @@ httpRequest href=${calc}/${cont4} parameter name=operator value=minus/ match - xpath select=html/body//form/p/font[contains(text(),'Result')]/b + xpath select=html/body//form/p[contains(text(),'Result')]/strong value=-3.0 assign=result/ /match @@ -61,7 +61,7 @@ description=Simulate going back again in the browser parameter name=operator value=divide/ match - xpath select=html/body//form/p/font[contains(text(),'Result')]/b + xpath select=html/body//form/p[contains(text(),'Result')]/strong value=0.25 assign=result/ /match 1.4 +1 -1 cocoon-2.1/src/test/anteater/flowscriptReload.xml Index: flowscriptReload.xml === RCS file: /home/cvs/cocoon-2.1/src/test/anteater/flowscriptReload.xml,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- flowscriptReload.xml 20 May 2003 00:54:12 - 1.3 +++ flowscriptReload.xml 31 Aug 2003 16:32:34 - 1.4 @@ -17,7 +17,7 @@ +-- copy file=${src-webapp-dir}/${test-dir}/sendpage.js - tofile=${deploy-dir}${test-dir}/sendpage.js
cvs commit: cocoon-2.1/src/blocks/webdav/java/org/apache/cocoon/transformation SourcepropsWritingTransformer.java
gcasper 2003/08/27 10:36:07 Modified:src/blocks/webdav/java/org/apache/cocoon/components/source/impl WebDAVSource.java src/blocks/webdav/java/org/apache/cocoon/transformation SourcepropsWritingTransformer.java Log: -changed SourcepropsWritingTransformer to use XML syntax for property names and namespaces -fixed and cleaned up WebDAVSource Revision ChangesPath 1.7 +26 -48 cocoon-2.1/src/blocks/webdav/java/org/apache/cocoon/components/source/impl/WebDAVSource.java Index: WebDAVSource.java === RCS file: /home/cvs/cocoon-2.1/src/blocks/webdav/java/org/apache/cocoon/components/source/impl/WebDAVSource.java,v retrieving revision 1.6 retrieving revision 1.7 diff -u -r1.6 -r1.7 --- WebDAVSource.java 22 Aug 2003 21:33:56 - 1.6 +++ WebDAVSource.java 27 Aug 2003 17:36:07 - 1.7 @@ -56,12 +56,13 @@ import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; -import java.io.StringReader; import java.util.Collection; import java.util.Iterator; +import java.util.Properties; import java.util.Vector; import java.util.Enumeration; +import javax.xml.transform.OutputKeys; import javax.xml.transform.TransformerFactory; import javax.xml.transform.sax.SAXTransformerFactory; import javax.xml.transform.sax.TransformerHandler; @@ -72,9 +73,9 @@ import org.apache.cocoon.components.source.helpers.SourcePermission; import org.apache.cocoon.components.source.helpers.SourceProperty; import org.apache.cocoon.components.source.InspectableSource; +import org.apache.cocoon.xml.XMLUtils; import org.apache.commons.httpclient.HttpException; import org.apache.avalon.framework.component.Composable; -import org.apache.avalon.framework.component.Component; import org.apache.avalon.framework.component.ComponentManager; import org.apache.avalon.framework.component.ComponentException; import org.apache.excalibur.source.ModifiableTraversableSource; @@ -82,7 +83,6 @@ import org.apache.excalibur.source.SourceException; import org.apache.excalibur.source.SourceValidity; import org.apache.excalibur.source.impl.validity.TimeStampValidity; -import org.apache.excalibur.xml.dom.DOMParser; import org.apache.util.HttpURL; import org.apache.webdav.lib.WebdavResource; import org.apache.webdav.lib.methods.DepthSupport; @@ -92,9 +92,11 @@ import org.xml.sax.ContentHandler; import org.xml.sax.SAXException; import org.xml.sax.helpers.AttributesImpl; -import org.xml.sax.InputSource; import org.w3c.dom.Document; +import org.w3c.dom.DocumentFragment; +import org.w3c.dom.Element; +import org.w3c.dom.NodeList; /** * A source implementation to get access to WebDAV repositories. Use it @@ -709,41 +711,24 @@ public SourceProperty[] getSourceProperties() throws SourceException { Vector sourceproperties = new Vector(); - DOMParser parser = null; - String xml = ; Enumeration props= null; org.apache.webdav.lib.Property prop = null; - String propValue = null; try { - parser = (DOMParser)this.manager.lookup(DOMParser.ROLE); Enumeration responses = this.resource.propfindMethod(0); while (responses.hasMoreElements()) { ResponseEntity response = (ResponseEntity)responses.nextElement(); props = response.getProperties(); - final String quote = \; while (props.hasMoreElements()) { - prop = (Property) props.nextElement(); - String localName = prop.getLocalName(); - String namespaceURI = prop.getNamespaceURI(); - String pre = +localName+ xmlns=+quote+namespaceURI+quote+ ; - String post = /+localName+ ; - propValue = prop.getPropertyAsString(); - xml = pre+propValue+post; - StringReader reader = new StringReader(xml); - Document doc = parser.parseDocument(new InputSource(reader)); - SourceProperty srcProperty = new SourceProperty(doc.getDocumentElement()); + SourceProperty srcProperty = new SourceProperty(prop.getElement()); sourceproperties.addElement(srcProperty); } } } catch (Exception e) { - throw new SourceException(Could not parse property +xml, e); - - } finally { - this.manager.release((Component) parser); + throw new SourceException(Error getting properties, e); } SourceProperty
cvs commit: cocoon-2.1/src/blocks/webdav/samples samples.xml
gcasper 2003/08/27 13:06:57 Modified:src/blocks/webdav/samples samples.xml Log: Added links to flow sample and to wiki entry Revision ChangesPath 1.4 +5 -2 cocoon-2.1/src/blocks/webdav/samples/samples.xml Index: samples.xml === RCS file: /home/cvs/cocoon-2.1/src/blocks/webdav/samples/samples.xml,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- samples.xml 10 Aug 2003 07:43:02 - 1.3 +++ samples.xml 27 Aug 2003 20:06:57 - 1.4 @@ -6,8 +6,8 @@ /group group name=Documentation -sample name=WebDAV href=./ - Not yet available - How to How to build a poor men's CMS with Cocoon and WebDAV +sample name=WebDAV href=http://wiki.cocoondev.org/Wiki.jsp?page=WebDAVBlock; + How to How to build a poor men's CMS with Cocoon and WebDAV /sample sample name=Setting up mod_dav href=http://httpd.apache.org/docs-2.0/mod/mod_dav.html; How to setup the Apache Web server as a WebDAV server @@ -53,6 +53,9 @@ how to integrate other editors. /sample -- +sample name=Flow sample href=flowsample/repo/ + Sample using flow +/sample /group group name=Serving WebDAV
cvs commit: cocoon-2.1/src/blocks/webdav/java/org/apache/cocoon/transformation - New directory
gcasper 2003/08/22 05:58:47 cocoon-2.1/src/blocks/webdav/java/org/apache/cocoon/transformation - New directory
cvs commit: cocoon-2.1/src/blocks/webdav/samples/flowsample/styles dir2html.xsl file2html.xsl new2html.xsl request2data.xsl request2meta.xsl
gcasper 2003/08/20 08:26:43 Added: src/blocks/webdav/samples/flowsample edit.js new.xml sitemap.xmap src/blocks/webdav/samples/flowsample/repo contentA.xml contentA.xml.meta src/blocks/webdav/samples/flowsample/repo/dir1 contentB.xml contentB.xml.meta contentC.xml contentC.xml.meta src/blocks/webdav/samples/flowsample/repo/dir2 contentA.xml contentA.xml.meta contentB.xml contentB.xml.meta contentC.xml contentC.xml.meta src/blocks/webdav/samples/flowsample/repo/dir2/subdir1 contentA.xml contentA.xml.meta src/blocks/webdav/samples/flowsample/styles dir2html.xsl file2html.xsl new2html.xsl request2data.xsl request2meta.xsl Log: Added WebDAV sample using flow TODO: move to a repository abstraction like Linotype's once that has stabilized Revision ChangesPath 1.1 cocoon-2.1/src/blocks/webdav/samples/flowsample/edit.js Index: edit.js === function editPage() { var page = cocoon.parameters[page]; var repoUri = cocoon.parameters[repo]; var editPage = editpage/ + page; var docUri = repo/ + page; cocoon.sendPageAndWait(editPage, {}); writeDoc(repoUri+docUri, getdata); writeDoc(repoUri+docUri+.meta, getmetadata); var dir = docUri.substring(0, docUri.lastIndexOf(/)+1); cocoon.sendPage(dir, {}); } function newPage() { var dir = cocoon.parameters[dir]; var repoUri = cocoon.parameters[repo]; cocoon.sendPageAndWait(newpage, {}); var page = cocoon.request.getParameter(filename); var docUri = dir+page; writeDoc(repoUri+docUri, getdata); writeDoc(repoUri+docUri+.meta, getmetadata); cocoon.sendPage(dir, {}); } function writeDoc(doc, pipeline) { var resolver = null; var source = null; var output = null; try { resolver = cocoon.getComponent(Packages.org.apache.excalibur.source.SourceResolver.ROLE); source = resolver.resolveURI(doc); if (source instanceof Packages.org.apache.excalibur.source.ModifiableSource) { output = source.getOutputStream(); cocoon.processPipelineTo(pipeline, {}, output); output.close(); } else { cocoon.log.error(Cannot write to + doc + : not a modifiable source); } } catch (error) { cocoon.log.error(Error getting output stream: + error); } finally { if (source != null) resolver.release(source); cocoon.releaseComponent(resolver); if (output != null) { try { output.close(); } catch (error) { cocoon.log.error(Error closing output stream: + error); } } } } 1.1 cocoon-2.1/src/blocks/webdav/samples/flowsample/new.xml Index: new.xml === ?xml version=1.0? page page titleTitle/title content paraParagraph 1/para paraParagraph 2/para /content /page metapage authoryou/author category/category statenew/state /metapage /page 1.1 cocoon-2.1/src/blocks/webdav/samples/flowsample/sitemap.xmap Index: sitemap.xmap === ?xml version=1.0? map:sitemap xmlns:map=http://apache.org/cocoon/sitemap/1.0; map:components map:generators default=file map:generator name=traverse src=org.apache.cocoon.generation.TraversableGenerator/ map:generator name=jx src=org.apache.cocoon.generation.JXTemplateGenerator/ /map:generators map:transformers default=xslt map:transformer name=jx src=org.apache.cocoon.transformation.JXTemplateTransformer/ /map:transformers /map:components map:flow language=javascript map:script src=edit.js/ /map:flow map:pipelines map:component-configurations global-variables staging/staging !--stagingwebdav://localhost/webdav/flowsample//staging-- /global-variables /map:component-configurations map:pipeline map:match pattern=**/*.kont map:call continuation={2}/ /map:match map:match pattern=**/new map:call function=newPage map:parameter name=dir value={1}// map:parameter name=repo value={global:staging}/ /map:call /map:match map:match pattern=repo/ map:generate type=traverse src={global:staging}repo/ map:parameter name=exclude value=[\w]*.meta/ /map:generate
cvs commit: cocoon-2.1/src/blocks/webdav/samples/flowsample/repo - New directory
gcasper 2003/08/20 08:17:04 cocoon-2.1/src/blocks/webdav/samples/flowsample/repo - New directory
cvs commit: cocoon-2.1/src/blocks/webdav/samples/davmap webdav.js sitemap.xmap
gcasper 2003/08/20 11:57:22 Modified:src/blocks/webdav/samples/davmap sitemap.xmap Added: src/blocks/webdav/samples/davmap webdav.js Log: Moved request routing to flowscript This further simplifies the sitemap (the flowscript is barely 4 lines) and hopefully flattens the way to using request factories Revision ChangesPath 1.4 +100 -129 cocoon-2.1/src/blocks/webdav/samples/davmap/sitemap.xmap Index: sitemap.xmap === RCS file: /home/cvs/cocoon-2.1/src/blocks/webdav/samples/davmap/sitemap.xmap,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- sitemap.xmap 10 Aug 2003 07:52:42 - 1.3 +++ sitemap.xmap 20 Aug 2003 18:57:21 - 1.4 @@ -6,132 +6,14 @@ map:generator name=traverse src=org.apache.cocoon.generation.TraversableGenerator/ /map:generators map:selectors default=browser -map:selector logger=sitemap.selector.method name=request-method src=org.apache.cocoon.selection.RequestMethodSelector/ map:selector logger=sitemap.selector.header name=depth src=org.apache.cocoon.selection.HeaderSelector header-nameDepth/header-name /map:selector /map:selectors /map:components - -map:resources - -map:resource name=GET - map:match pattern=repo/ -map:generate type=traverse src={global:staging}repo/ - map:parameter name=depth value=1/ -/map:generate -map:serialize type=xml/ - /map:match - map:match pattern=** -map:generate src={global:staging}{1}/ -map:serialize type=xml/ - /map:match -/map:resource - -map:resource name=OPTIONS - map:match pattern=** -map:act type=set-header - map:parameter name=DAV value=DAV:1/ - map:parameter name=Allow value=OPTIONS, GET, HEAD, POST, DELETE,TRACE, PROPFIND, PROPPATCH, COPY, MOVE/ -/map:act -map:generate src=dummy.xml/ -map:serialize type=xml/ - /map:match -/map:resource - -map:resource name=PROPFIND - map:match pattern=**/*.* -map:generate type=traverse src={global:staging}{1}// -map:transform src={global:staging}styles/file2propfind0.xsl - map:parameter name=requestURI value={request:requestURI}/ - map:parameter name=directory value={1}/ - map:parameter name=file value={2}.{3}/ -/map:transform -map:serialize type=xml status-code=207/ - /map:match - map:match pattern=**/ -map:generate type=traverse src={global:staging}{1}// -map:select type=depth - map:when test=0 -map:transform src={global:staging}styles/dir2propfind0.xsl - map:parameter name=requestURI value={request:requestURI}/ -/map:transform - /map:when - map:otherwise -map:transform src={global:staging}styles/dir2propfind1.xsl - map:parameter name=requestURI value={request:requestURI}/ -/map:transform - /map:otherwise -/map:select -map:serialize type=xml status-code=207/ - /map:match - map:match pattern=** -map:generate type=traverse src={global:staging}{1}// -map:select type=depth - map:when test=0 -map:transform src={global:staging}styles/dir2propfind0.xsl - map:parameter name=requestURI value={request:requestURI}/ -/map:transform - /map:when - map:otherwise -map:transform src={global:staging}styles/dir2propfind1.xsl - map:parameter name=requestURI value={request:requestURI}/ -/map:transform - /map:otherwise -/map:select -map:serialize type=xml status-code=207/ - /map:match -/map:resource - -map:resource name=PUT - map:match pattern=**/*.* -map:generate type=stream - map:parameter name=defaultContentType value=text/xml/ -/map:generate -map:transform src=styles/stream2write.xsl - map:parameter name=file value={global:staging}{1}/{2}.{3}/ -/map:transform -map:transform type=write-source/ -map:serialize/ - /map:match -/map:resource - -map:resource name=DELETE - map:generate src=dummy.xml/ - map:serialize type=xml/ -/map:resource - -map:resource name=COPY - map:generate src=dummy.xml/ - map:serialize type=xml/ -/map:resource - -map:resource name=MOVE - map:generate src=dummy.xml/ - map:serialize type=xml/ -/map:resource - -map:resource name=PROPPATCH - map:generate src=dummy.xml/ - map:serialize type=xml/ -/map:resource - -map:resource name=LOCK - map:generate src=dummy.xml/ - map:serialize type=xml/ -/map:resource - -map:resource name=HEAD - map:generate src=dummy.xml/ - map:serialize type=xml/ -/map:resource - -map:resource name=TRACE - map:generate src=dummy.xml/ - map:serialize type=xml/ -/map:resource - -/map:resources +map:flow language=javascript
cvs commit: cocoon-2.1/src/blocks/webdav/samples/flowsample/repo/dir2 - New directory
gcasper 2003/08/20 08:18:34 cocoon-2.1/src/blocks/webdav/samples/flowsample/repo/dir2 - New directory
cvs commit: cocoon-2.1/src/blocks/webdav/conf webdav.xsamples
gcasper 2003/08/14 13:10:04 Added: src/blocks/webdav/conf webdav.xsamples Log: Added link to Blocks Samples page Revision ChangesPath 1.1 cocoon-2.1/src/blocks/webdav/conf/webdav.xsamples Index: webdav.xsamples === ?xml version=1.0? xsamples xpath=/samples unless=[EMAIL PROTECTED]'WebDAV'] group name=WebDAV sample href=webdav/ name=WebDAV Using WebDAV with Cocoon /sample /group /xsamples