[maven-release-plugin] copy for tag cocoon-webapp-2.2.1
git-svn-id: https://svn.apache.org/repos/asf/cocoon/tags/cocoon-2.2@1907438 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/cocoon-webapp/cocoon-webapp-2.2.1/LICENSE.txt b/cocoon-webapp/cocoon-webapp-2.2.1/LICENSE.txt
new file mode 100644
index 0000000..261eeb9
--- /dev/null
+++ b/cocoon-webapp/cocoon-webapp-2.2.1/LICENSE.txt
@@ -0,0 +1,201 @@
+ Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "[]"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright [yyyy] [name of copyright owner]
+
+ 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.
diff --git a/cocoon-webapp/cocoon-webapp-2.2.1/NOTICE.txt b/cocoon-webapp/cocoon-webapp-2.2.1/NOTICE.txt
new file mode 100644
index 0000000..bb0f11b
--- /dev/null
+++ b/cocoon-webapp/cocoon-webapp-2.2.1/NOTICE.txt
@@ -0,0 +1,5 @@
+Apache Cocoon
+Copyright 1999-2008 The Apache Software Foundation.
+
+This product includes software developed at
+The Apache Software Foundation (http://www.apache.org/).
diff --git a/cocoon-webapp/cocoon-webapp-2.2.1/pom.xml b/cocoon-webapp/cocoon-webapp-2.2.1/pom.xml
new file mode 100644
index 0000000..d4caa6f
--- /dev/null
+++ b/cocoon-webapp/cocoon-webapp-2.2.1/pom.xml
@@ -0,0 +1,436 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you 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.
+-->
+<!--
+ - This is the bare bones Cocoon web application,
+ - basis for creation of custom distributions.
+ -
+ - @version $Id$
+ -->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.apache.cocoon</groupId>
+ <artifactId>cocoon-core-modules</artifactId>
+ <version>6</version>
+ </parent>
+ <artifactId>cocoon-webapp</artifactId>
+ <version>2.2.1</version>
+ <packaging>war</packaging>
+ <name>Cocoon Webapp</name>
+
+ <scm>
+ <connection>scm:svn:https://svn.apache.org/repos/asf/cocoon/tags/cocoon-2.2/cocoon-webapp/cocoon-webapp-2.2.1</connection>
+ <developerConnection>scm:svn:https://svn.apache.org/repos/asf/cocoon/tags/cocoon-2.2/cocoon-webapp/cocoon-webapp-2.2.1</developerConnection>
+ <url>https://svn.apache.org/viewvc/cocoon/tags/cocoon-2.2/cocoon-webapp/cocoon-webapp-2.2.1</url>
+ </scm>
+
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.mortbay.jetty</groupId>
+ <artifactId>maven-jetty-plugin</artifactId>
+ <version>6.1.7</version>
+ <configuration>
+ <connectors>
+ <connector implementation="org.mortbay.jetty.nio.SelectChannelConnector">
+ <port>${jetty.port}</port>
+ <maxIdleTime>30000</maxIdleTime>
+ </connector>
+ </connectors>
+ <webAppSourceDirectory>./target/cocoon-webapp</webAppSourceDirectory>
+ <contextPath>${jetty.context}</contextPath>
+ </configuration>
+ </plugin>
+ <plugin>
+ <artifactId>maven-surefire-plugin</artifactId>
+ <configuration>
+ <excludes>
+ <exclude>**/cocoon/it/**</exclude>
+ </excludes>
+ </configuration>
+ </plugin>
+ </plugins>
+ <finalName>cocoon-webapp</finalName>
+ </build>
+
+ <dependencies>
+ <!-- Cocoon Core -->
+ <dependency>
+ <groupId>org.apache.cocoon</groupId>
+ <artifactId>cocoon-core</artifactId>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.cocoon</groupId>
+ <artifactId>cocoon-servlet-service-impl</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.cocoon</groupId>
+ <artifactId>cocoon-servlet-service-components</artifactId>
+ </dependency>
+
+ <!-- Cocoon Welcome Page -->
+ <dependency>
+ <groupId>org.apache.cocoon</groupId>
+ <artifactId>cocoon-welcome</artifactId>
+ <version>1.0.0-M1</version>
+ </dependency>
+
+ <!-- Cocoon Core Samples -->
+ <dependency>
+ <groupId>org.apache.cocoon</groupId>
+ <artifactId>cocoon-core-main-sample</artifactId>
+ <version>1.0.0</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.cocoon</groupId>
+ <artifactId>cocoon-core-additional-sample</artifactId>
+ <version>1.0.0</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.cocoon</groupId>
+ <artifactId>cocoon-servlet-service-impl-sample</artifactId>
+ <version>1.0.1</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.cocoon</groupId>
+ <artifactId>cocoon-servlet-service-components-sample</artifactId>
+ <version>1.0.0</version>
+ </dependency>
+
+ <!-- Cocoon Sample Blocks -->
+ <dependency>
+ <groupId>org.apache.cocoon</groupId>
+ <artifactId>cocoon-ajax-sample</artifactId>
+ <version>1.0.0</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.cocoon</groupId>
+ <artifactId>cocoon-forms-sample</artifactId>
+ <version>1.1.0</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.cocoon</groupId>
+ <artifactId>cocoon-template-sample</artifactId>
+ <version>1.1.0</version>
+ </dependency>
+
+ <!-- Integration Tests -->
+ <dependency>
+ <groupId>org.apache.cocoon</groupId>
+ <artifactId>cocoon-it</artifactId>
+ </dependency>
+
+ <!-- Integration Test Framework -->
+ <dependency>
+ <groupId>org.apache.cocoon</groupId>
+ <artifactId>cocoon-it-fw</artifactId>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
+
+ <profiles>
+ <profile>
+ <id>it</id>
+ <build>
+ <plugins>
+ <!-- Integration tests -->
+ <plugin>
+ <groupId>org.apache.cocoon</groupId>
+ <artifactId>cocoon-it-fw</artifactId>
+ <configuration>
+ <webAppDirectory>./target/cocoon-webapp</webAppDirectory>
+ </configuration>
+ <executions>
+ <execution>
+ <id>jetty-start</id>
+ <goals>
+ <goal>jetty-start</goal>
+ </goals>
+ <phase>pre-integration-test</phase>
+ </execution>
+ <execution>
+ <id>jetty-stop</id>
+ <goals>
+ <goal>jetty-stop</goal>
+ </goals>
+ <phase>post-integration-test</phase>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <artifactId>maven-surefire-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>integration-test</id>
+ <goals>
+ <goal>test</goal>
+ </goals>
+ <phase>integration-test</phase>
+ <configuration>
+ <excludes>
+ <exclude>none</exclude>
+ </excludes>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+ <profile>
+ <id>eventcache-jms</id>
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.cocoon</groupId>
+ <artifactId>cocoon-eventcache-sample</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.cocoon</groupId>
+ <artifactId>cocoon-jms-sample</artifactId>
+ </dependency>
+ </dependencies>
+ </profile>
+ <profile>
+ <id>allblocks</id>
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.cocoon</groupId>
+ <artifactId>cocoon-apples-sample</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.cocoon</groupId>
+ <artifactId>cocoon-asciiart-sample</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.cocoon</groupId>
+ <artifactId>cocoon-auth-sample</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.cocoon</groupId>
+ <artifactId>cocoon-authentication-fw-sample</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.cocoon</groupId>
+ <artifactId>cocoon-axis-sample</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.cocoon</groupId>
+ <artifactId>cocoon-batik-sample</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.cocoon</groupId>
+ <artifactId>cocoon-bsf-sample</artifactId>
+ </dependency>
+ <!--dependency>
+ <groupId>org.apache.cocoon</groupId>
+ <artifactId>cocoon-captcha-sample</artifactId>
+ </dependency-->
+ <!--<dependency>
+ <groupId>org.apache.cocoon</groupId>
+ <artifactId>cocoon-chaperon-sample</artifactId>
+ </dependency>-->
+ <dependency>
+ <groupId>org.apache.cocoon</groupId>
+ <artifactId>cocoon-cron-sample</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.cocoon</groupId>
+ <artifactId>cocoon-databases-sample</artifactId>
+ </dependency>
+ <!--<dependency>
+ <groupId>org.apache.cocoon</groupId>
+ <artifactId>cocoon-deli-sample</artifactId>
+ </dependency>-->
+ <dependency>
+ <groupId>org.apache.cocoon</groupId>
+ <artifactId>cocoon-eventcache-sample</artifactId>
+ </dependency>
+ <!--dependency>
+ <groupId>org.apache.cocoon</groupId>
+ <artifactId>cocoon-jms-sample</artifactId>
+ </dependency-->
+ <!-- Breaks currently cocoon-webapp
+ <dependency>
+ <groupId>org.apache.cocoon</groupId>
+ <artifactId>cocoon-faces-sample</artifactId>
+ </dependency>
+ -->
+ <dependency>
+ <groupId>org.apache.cocoon</groupId>
+ <artifactId>cocoon-fop-sample</artifactId>
+ </dependency>
+ <!-- Disabled because classloading conflicts prevent it from running
+ at the same time as the "legacy" FOP block.
+ <dependency>
+ <groupId>org.apache.cocoon</groupId>
+ <artifactId>cocoon-fop-ng-sample</artifactId>
+ </dependency>
+ -->
+ <dependency>
+ <groupId>org.apache.cocoon</groupId>
+ <artifactId>cocoon-html-sample</artifactId>
+ </dependency>
+<!-- <dependency>-->
+<!-- <groupId>org.apache.cocoon</groupId>-->
+<!-- <artifactId>cocoon-imageop-sample</artifactId>-->
+<!-- </dependency>-->
+ <dependency>
+ <groupId>org.apache.cocoon</groupId>
+ <artifactId>cocoon-itext-sample</artifactId>
+ </dependency>
+ <!-- Java flow was excluded from building because org.apache.commons:javaflow:jar:1.0-SNAPSHOT is not available anywhere -->
+ <!--
+ <dependency>
+ <groupId>org.apache.cocoon</groupId>
+ <artifactId>cocoon-javaflow-sample</artifactId>
+ </dependency>
+ -->
+ <dependency>
+ <groupId>org.apache.cocoon</groupId>
+ <artifactId>cocoon-jcr-sample</artifactId>
+ </dependency>
+ <!--<dependency>
+ <groupId>org.apache.cocoon</groupId>
+ <artifactId>cocoon-jfor-sample</artifactId>
+ </dependency>-->
+ <dependency>
+ <groupId>org.apache.cocoon</groupId>
+ <artifactId>cocoon-jsp-sample</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.cocoon</groupId>
+ <artifactId>cocoon-linkrewriter-sample</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.cocoon</groupId>
+ <artifactId>cocoon-lucene-sample</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.cocoon</groupId>
+ <artifactId>cocoon-mail-sample</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.cocoon</groupId>
+ <artifactId>cocoon-midi-sample</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.cocoon</groupId>
+ <artifactId>cocoon-naming-sample</artifactId>
+ </dependency>
+ <!-- Breaks currently cocoon-webapp
+ <dependency>
+ <groupId>org.apache.cocoon</groupId>
+ <artifactId>cocoon-ojb-sample</artifactId>
+ </dependency>
+ -->
+ <dependency>
+ <groupId>org.apache.cocoon</groupId>
+ <artifactId>cocoon-petstore-sample</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.cocoon</groupId>
+ <artifactId>cocoon-poi-sample</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.cocoon</groupId>
+ <artifactId>cocoon-portal-sample</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.cocoon</groupId>
+ <artifactId>cocoon-profiler-sample</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.cocoon</groupId>
+ <artifactId>cocoon-proxy-sample</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.cocoon</groupId>
+ <artifactId>cocoon-qdox-sample</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.cocoon</groupId>
+ <artifactId>cocoon-querybean-sample</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.cocoon</groupId>
+ <artifactId>cocoon-scratchpad-sample</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.cocoon</groupId>
+ <artifactId>cocoon-session-fw-sample</artifactId>
+ </dependency>
+ <!-- Breaks currently cocoon-webapp
+ <dependency>
+ <groupId>org.apache.cocoon</groupId>
+ <artifactId>cocoon-slide-sample</artifactId>
+ </dependency>
+ -->
+ <dependency>
+ <groupId>org.apache.cocoon</groupId>
+ <artifactId>cocoon-slop-sample</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.cocoon</groupId>
+ <artifactId>cocoon-stx-sample</artifactId>
+ </dependency>
+ <!-- Breaks currently cocoon-webapp
+ <dependency>
+ <groupId>org.apache.cocoon</groupId>
+ <artifactId>cocoon-taglib-sample</artifactId>
+ </dependency>
+ -->
+ <dependency>
+ <groupId>org.apache.cocoon</groupId>
+ <artifactId>cocoon-tour-sample</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.cocoon</groupId>
+ <artifactId>cocoon-validation-sample</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.cocoon</groupId>
+ <artifactId>cocoon-velocity-sample</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.cocoon</groupId>
+ <artifactId>cocoon-web3-sample</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.cocoon</groupId>
+ <artifactId>cocoon-webdav-sample</artifactId>
+ </dependency>
+ <!--<dependency>
+ <groupId>org.apache.cocoon</groupId>
+ <artifactId>cocoon-xmldb-sample</artifactId>
+ </dependency>-->
+ <dependency>
+ <groupId>org.apache.cocoon</groupId>
+ <artifactId>cocoon-xsp-sample</artifactId>
+ </dependency>
+ </dependencies>
+ </profile>
+ </profiles>
+
+ <properties>
+ <jetty.port>8888</jetty.port>
+ <jetty.context>/</jetty.context>
+ </properties>
+</project>
diff --git a/cocoon-webapp/cocoon-webapp-2.2.1/src/changes/changes.xml b/cocoon-webapp/cocoon-webapp-2.2.1/src/changes/changes.xml
new file mode 100644
index 0000000..315105f
--- /dev/null
+++ b/cocoon-webapp/cocoon-webapp-2.2.1/src/changes/changes.xml
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you 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.
+-->
+
+<!--
+ - @see http://maven.apache.org/plugins/maven-changes-plugin/usage.html
+ - @version $Id$
+ -->
+<document>
+ <body>
+ <release version="1.0.0-M1" date="2007-??-??" description="unreleased">
+ <action dev="reinhard" type="add">
+ Initial creation.
+ </action>
+ </release>
+ </body>
+</document>
diff --git a/cocoon-webapp/cocoon-webapp-2.2.1/src/main/webapp/WEB-INF/applicationContext.xml b/cocoon-webapp/cocoon-webapp-2.2.1/src/main/webapp/WEB-INF/applicationContext.xml
new file mode 100644
index 0000000..ca3d58f
--- /dev/null
+++ b/cocoon-webapp/cocoon-webapp-2.2.1/src/main/webapp/WEB-INF/applicationContext.xml
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You 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.
+-->
+<!-- @version $Id$ -->
+<beans xmlns="http://www.springframework.org/schema/beans"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:util="http://www.springframework.org/schema/util"
+ xmlns:configurator="http://cocoon.apache.org/schema/configurator"
+ xmlns:avalon="http://cocoon.apache.org/schema/avalon"
+ xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
+ http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-2.5.xsd
+ http://cocoon.apache.org/schema/configurator http://cocoon.apache.org/schema/configurator/cocoon-configurator-1.0.1.xsd
+ http://cocoon.apache.org/schema/avalon http://cocoon.apache.org/schema/avalon/cocoon-avalon-1.0.xsd">
+
+ <!-- Activate Cocoon Spring Configurator -->
+ <configurator:settings/>
+
+ <!-- Configure Log4j -->
+ <bean name="org.apache.cocoon.spring.configurator.log4j"
+ class="org.apache.cocoon.spring.configurator.log4j.Log4JConfigurator"
+ scope="singleton">
+ <property name="settings" ref="org.apache.cocoon.configuration.Settings"/>
+ <property name="resource" value="/WEB-INF/cocoon/log4j.xml"/>
+ </bean>
+
+ <!-- Activate Avalon Bridge -->
+ <avalon:bridge/>
+
+</beans>
diff --git a/cocoon-webapp/cocoon-webapp-2.2.1/src/main/webapp/WEB-INF/cocoon/log4j.xml b/cocoon-webapp/cocoon-webapp-2.2.1/src/main/webapp/WEB-INF/cocoon/log4j.xml
new file mode 100644
index 0000000..e59ba27
--- /dev/null
+++ b/cocoon-webapp/cocoon-webapp-2.2.1/src/main/webapp/WEB-INF/cocoon/log4j.xml
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You 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.
+-->
+<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
+
+<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
+ <!--
+ - This is a sample configuration for log4j.
+ - It simply just logs everything into a single log file.
+ - Note, that you can use properties for value substitution.
+ -->
+ <appender name="CORE" class="org.apache.log4j.FileAppender">
+ <param name="File" value="${org.apache.cocoon.work.directory}/cocoon-logs/log4j.log" />
+ <param name="Append" value="false" />
+ <layout class="org.apache.log4j.PatternLayout">
+ <param name="ConversionPattern" value="%d %-5p %t %c - %m%n"/>
+ </layout>
+ </appender>
+
+ <logger name="org.springframework">
+ <level value="${org.apache.cocoon.log4j.loglevel.spring}"/>
+ </logger>
+
+ <root>
+ <priority value="${org.apache.cocoon.log4j.loglevel}"/>
+ <appender-ref ref="CORE"/>
+ </root>
+</log4j:configuration>
diff --git a/cocoon-webapp/cocoon-webapp-2.2.1/src/main/webapp/WEB-INF/web.xml b/cocoon-webapp/cocoon-webapp-2.2.1/src/main/webapp/WEB-INF/web.xml
new file mode 100644
index 0000000..4a4838c
--- /dev/null
+++ b/cocoon-webapp/cocoon-webapp-2.2.1/src/main/webapp/WEB-INF/web.xml
@@ -0,0 +1,205 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You 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.
+-->
+
+<!--
+ - This is the Cocoon web-app configurations file
+ -
+ - $Id$
+ -->
+<web-app version="2.4"
+ xmlns="http://java.sun.com/xml/ns/j2ee"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
+
+ <!-- Context Configuration ========================================== -->
+
+ <!--
+ - Set a context property useful to allow you to ProxyPass your
+ - web application mounted to a different URI without losing the
+ - ability to do cookie-based sessions.
+ - WARNING: this is Jetty specific!
+ <context-param>
+ <description>An override of the session cookie path</description>
+ <param-name>org.mortbay.jetty.servlet.SessionPath</param-name>
+ <param-value>/some/path/to/your/webapp</param-value>
+ </context-param>
+ -->
+
+ <!-- Servlet Context Listener ======================================= -->
+
+ <listener>
+ <description>Declare a context listener that installs all blocks.</description>
+ <listener-class>org.apache.cocoon.blockdeployment.BlockDeploymentServletContextListener</listener-class>
+ </listener>
+
+ <!--
+ - Declare Spring context listener which sets up the Spring Application Context
+ - containing all Cocoon components (and user defined beans as well).
+ -->
+ <listener>
+ <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
+ </listener>
+
+ <!--
+ - Declare Spring request listener which sets up the required RequestAttributes
+ - to support Springs and Cocoon custom bean scopes like the request scope or the
+ - session scope.
+ -->
+ <listener>
+ <listener-class>org.springframework.web.context.request.RequestContextListener</listener-class>
+ </listener>
+
+ <!-- Servlet Filters ================================================ -->
+
+ <!--
+ - Declare a filter for multipart MIME handling
+ -->
+ <filter>
+ <description>Multipart MIME handling filter for Cocoon</description>
+ <display-name>Cocoon multipart filter</display-name>
+ <filter-name>CocoonMultipartFilter</filter-name>
+ <filter-class>org.apache.cocoon.servlet.multipart.MultipartFilter</filter-class>
+ </filter>
+
+ <!--
+ - Declare a filter for debugging incoming request
+ -->
+ <filter>
+ <description>Log debug information about each request</description>
+ <display-name>Cocoon debug filter</display-name>
+ <filter-name>CocoonDebugFilter</filter-name>
+ <filter-class>org.apache.cocoon.servlet.DebugFilter</filter-class>
+ </filter>
+
+ <!-- Filter mappings ================================================ -->
+
+ <!--
+ - Use the Cocoon multipart filter together with the Cocoon demo webapp
+ -->
+ <filter-mapping>
+ <filter-name>CocoonMultipartFilter</filter-name>
+ <servlet-name>Cocoon</servlet-name>
+ </filter-mapping>
+ <filter-mapping>
+ <filter-name>CocoonMultipartFilter</filter-name>
+ <servlet-name>DispatcherServlet</servlet-name>
+ </filter-mapping>
+
+ <!--
+ - Use the Cocoon debug filter together with the Cocoon demo webapp
+ <filter-mapping>
+ <filter-name>CocoonDebugFilter</filter-name>
+ <servlet-name>Cocoon</servlet-name>
+ </filter-mapping>
+ -->
+
+ <!-- Servlet Configuration ========================================== -->
+
+ <!--
+ - Servlet that dispatches requests to the Spring managed block servlets
+ -->
+ <servlet>
+ <description>Cocoon blocks dispatcher</description>
+ <display-name>DispatcherServlet</display-name>
+ <servlet-name>DispatcherServlet</servlet-name>
+ <servlet-class>org.apache.cocoon.servletservice.DispatcherServlet</servlet-class>
+ <!--
+ - This parameter allows you to startup immediately after startup
+ - of your servlet engine.
+ -->
+ <load-on-startup>1</load-on-startup>
+ </servlet>
+
+ <!-- URL space mappings ============================================= -->
+
+ <!--
+ - Cocoon handles all the URL space assigned to the webapp using its sitemap.
+ - It is recommended to leave it unchanged. Under some circumstances though
+ - (like integration with proprietary webapps or servlets) you might have
+ - to change this parameter.
+ -->
+ <servlet-mapping>
+ <servlet-name>DispatcherServlet</servlet-name>
+ <url-pattern>/*</url-pattern>
+ </servlet-mapping>
+
+ <!--
+ - Some servlet engines (Tomcat) have defaults which are not overriden
+ - by '/' mapping, but must be overriden explicitly.
+ -->
+ <servlet-mapping>
+ <servlet-name>DispatcherServlet</servlet-name>
+ <url-pattern>*.jsp</url-pattern>
+ </servlet-mapping>
+
+ <!--
+ - Some servlet engines (WebLogic) have defaults which are not overriden
+ - by '/' mapping, but must be overriden explicitly.
+ -->
+ <servlet-mapping>
+ <servlet-name>DispatcherServlet</servlet-name>
+ <url-pattern>*.html</url-pattern>
+ </servlet-mapping>
+
+ <!-- various MIME type mappings ====================================== -->
+
+ <mime-mapping>
+ <extension>css</extension>
+ <mime-type>text/css</mime-type>
+ </mime-mapping>
+
+ <mime-mapping>
+ <extension>xml</extension>
+ <mime-type>text/xml</mime-type>
+ </mime-mapping>
+
+ <mime-mapping>
+ <extension>xsl</extension>
+ <mime-type>text/xml</mime-type>
+ </mime-mapping>
+
+ <mime-mapping>
+ <extension>xconf</extension>
+ <mime-type>text/xml</mime-type>
+ </mime-mapping>
+
+ <mime-mapping>
+ <extension>xmap</extension>
+ <mime-type>text/xml</mime-type>
+ </mime-mapping>
+
+ <mime-mapping>
+ <extension>ent</extension>
+ <mime-type>text/plain</mime-type>
+ </mime-mapping>
+
+ <mime-mapping>
+ <extension>grm</extension>
+ <mime-type>text/plain</mime-type>
+ </mime-mapping>
+
+ <!--
+ - Sample environment entry for the NamingInputModule
+ -->
+ <env-entry>
+ <env-entry-name>greeting</env-entry-name>
+ <env-entry-type>java.lang.String</env-entry-type>
+ <env-entry-value>Hello, World</env-entry-value>
+ </env-entry>
+
+</web-app>
diff --git a/cocoon-webapp/cocoon-webapp-2.2.1/src/main/webapp/test-suite/sitemap.xmap b/cocoon-webapp/cocoon-webapp-2.2.1/src/main/webapp/test-suite/sitemap.xmap
new file mode 100644
index 0000000..0d54cd6
--- /dev/null
+++ b/cocoon-webapp/cocoon-webapp-2.2.1/src/main/webapp/test-suite/sitemap.xmap
@@ -0,0 +1,56 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You 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.
+-->
+
+<!--
+ - $Id$
+ -->
+<map:sitemap xmlns:map="http://apache.org/cocoon/sitemap/1.0">
+
+ <!-- =========================== Views =================================== -->
+
+ <map:views>
+ <map:view name="content" from-label="content">
+ <map:serialize type="xml"/>
+ </map:view>
+
+ <map:view from-label="content" name="pretty-content">
+ <map:transform src="context://stylesheets/system/xml2html.xslt"/>
+ <map:serialize type="html"/>
+ </map:view>
+
+ <map:view name="links" from-position="last">
+ <map:serialize type="links"/>
+ </map:view>
+ </map:views>
+
+ <!-- =========================== Pipelines ================================= -->
+
+ <map:pipelines>
+ <map:pipeline>
+
+ <map:match pattern="static-site/**.html">
+ <map:generate src="xdocs/{1}.xml"/>
+ <map:transform src="stylesheets/xdoc2html.xslt">
+ <map:parameter name="contextPath" value="{request:contextPath}"/>
+ </map:transform>
+ <map:serialize type="html"/>
+ </map:match>
+
+ </map:pipeline>
+ </map:pipelines>
+</map:sitemap>
diff --git a/cocoon-webapp/cocoon-webapp-2.2.1/src/main/webapp/test-suite/stylesheets/simple-xdoc2html.xslt b/cocoon-webapp/cocoon-webapp-2.2.1/src/main/webapp/test-suite/stylesheets/simple-xdoc2html.xslt
new file mode 100644
index 0000000..ef9b5fa
--- /dev/null
+++ b/cocoon-webapp/cocoon-webapp-2.2.1/src/main/webapp/test-suite/stylesheets/simple-xdoc2html.xslt
@@ -0,0 +1,96 @@
+<?xml version="1.0"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You 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.
+-->
+
+<!--+
+ | Converts output of the StatusGenerator into HTML page
+ |
+ | CVS $Id: simple-xdoc2html.xslt,v 1.1 2004/04/28 21:29:08 upayavira Exp $
+ +-->
+
+<xsl:stylesheet version="1.0"
+ xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ xmlns:status="http://apache.org/cocoon/status/2.0">
+
+ <xsl:param name="contextPath"/>
+
+ <xsl:template match="status:statusinfo">
+ <html>
+ <head>
+ <title>Cocoon Status [<xsl:value-of select="@status:host"/>]</title>
+ <link href="{$contextPath}/styles/main.css" type="text/css" rel="stylesheet"/>
+ <script src="{$contextPath}/scripts/main.js" type="text/javascript"/>
+ </head>
+
+ <body>
+ <h1><xsl:value-of select="@status:host"/> - <xsl:value-of select="@status:date"/></h1>
+ <xsl:apply-templates/>
+ </body>
+ </html>
+ </xsl:template>
+
+ <xsl:template match="status:group">
+ <h2><xsl:value-of select="@status:name"/></h2>
+ <ul><xsl:apply-templates select="status:value"/></ul>
+ <xsl:apply-templates select="status:group"/>
+ </xsl:template>
+
+ <xsl:template match="status:value">
+ <li>
+ <span class="description"><xsl:value-of select="@status:name"/><xsl:text>: </xsl:text></span>
+ <xsl:choose>
+ <xsl:when test="contains(@status:name,'free') or contains(@status:name,'total')">
+ <xsl:call-template name="suffix">
+ <xsl:with-param name="bytes" select="number(.)"/>
+ </xsl:call-template>
+ </xsl:when>
+ <xsl:when test="count(status:line) <= 1">
+ <xsl:value-of select="status:line"/>
+ </xsl:when>
+ <xsl:otherwise>
+ <span class="switch" id="{generate-id(.)}-switch" onclick="toggle('{generate-id(.)}')">[show]</span>
+ <ul id="{generate-id(.)}" style="display: none">
+ <xsl:apply-templates />
+ </ul>
+ </xsl:otherwise>
+ </xsl:choose>
+ </li>
+ </xsl:template>
+
+ <xsl:template match="status:line">
+ <li><xsl:value-of select="."/></li>
+ </xsl:template>
+
+ <xsl:template name="suffix">
+ <xsl:param name="bytes"/>
+ <xsl:choose>
+ <!-- More than 4 MB (=4194304) -->
+ <xsl:when test="$bytes >= 4194304">
+ <xsl:value-of select="round($bytes div 10485.76) div 100"/> MB
+ </xsl:when>
+ <!-- More than 4 KB (=4096) -->
+ <xsl:when test="$bytes > 4096">
+ <xsl:value-of select="round($bytes div 10.24) div 100"/> KB
+ </xsl:when>
+ <!-- Less -->
+ <xsl:otherwise>
+ <xsl:value-of select="$bytes"/> B
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:template>
+
+</xsl:stylesheet>
diff --git a/cocoon-webapp/cocoon-webapp-2.2.1/src/main/webapp/test-suite/xdocs/index.xml b/cocoon-webapp/cocoon-webapp-2.2.1/src/main/webapp/test-suite/xdocs/index.xml
new file mode 100644
index 0000000..cc51cc0
--- /dev/null
+++ b/cocoon-webapp/cocoon-webapp-2.2.1/src/main/webapp/test-suite/xdocs/index.xml
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You 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.
+-->
+<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V1.0//EN" "dtd/document-v10.dtd">
+<document>
+ <header>
+ <title>Cocoon TestSuite</title>
+ <authors>
+ <person name="Cocoon community" email="dev@cocoon.apache.org"/>
+ </authors>
+ </header>
+ <body>
+ <s1 title="General information">
+ <p>
+ Apache Cocoon is a web development framework built around the concepts
+ of component-based web development and separation of concerns, ensuring
+ that people can interact and collaborate on a project without stepping
+ on each other toes.
+ </p>
+ <p>
+ The purpose of these pages is to provide a webapp to be used in testing
+ Cocoon itself. These pages are not intended to be read by humans - rather
+ to be read by automated tests that are a part of Cocoon itself.
+ </p>
+ </s1>
+ </body>
+</document>
diff --git a/cocoon-webapp/cocoon-webapp-2.2.1/src/test/java/org/apache/cocoon/it/blocks/eventcache/EventAwareCacheTest.java b/cocoon-webapp/cocoon-webapp-2.2.1/src/test/java/org/apache/cocoon/it/blocks/eventcache/EventAwareCacheTest.java
new file mode 100644
index 0000000..aa3d628
--- /dev/null
+++ b/cocoon-webapp/cocoon-webapp-2.2.1/src/test/java/org/apache/cocoon/it/blocks/eventcache/EventAwareCacheTest.java
@@ -0,0 +1,78 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You 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.it.blocks.eventcache;
+
+import org.apache.cocoon.tools.it.HtmlUnitTestCase;
+
+/**
+ * Runs various tests on the eventcache block.
+ */
+public class EventAwareCacheTest extends HtmlUnitTestCase {
+
+ /**
+ * Verifies a key to be cached.
+ *
+ * @throws Exception In case of environmental errors.
+ */
+ public void testGetCachedSite() throws Exception {
+// this.loadXmlPage("cocoon-eventcache-sample/it/demo?pageKey=one");
+// assertEquals(200, this.response.getStatusCode());
+// assertXPath("/eventcache/key", "one");
+// String firstLoaded = this.response.getContentAsString();
+// this.loadXmlPage("cocoon-eventcache-sample/it/demo?pageKey=one");
+// assertEquals(200, this.response.getStatusCode());
+// assertEquals(this.response.getContentAsString(), firstLoaded);
+ }
+
+ /**
+ * Verifies a key to be invalidated by invoking an action.
+ *
+ * @throws Exception In case of environmental errors.
+ */
+ public void testUncacheWithAction() throws Exception {
+// this.loadXmlPage("cocoon-eventcache-sample/it/demo?pageKey=two");
+// assertEquals(200, this.response.getStatusCode());
+// assertXPath("/eventcache/key", "two");
+// String firstLoaded = this.response.getContentAsString();
+// this.loadResponse("cocoon-eventcache-sample/it/action?event=two&pageKey=two");
+// // Check for correct redirect
+// assertEquals(302, this.response.getStatusCode());
+// // Check, whether the response has changed
+// assertNotSame(this.response.getContentAsString(), firstLoaded);
+// this.loadXmlPage("cocoon-eventcache-sample/it/demo?pageKey=two");
+// assertXPath("/eventcache/key", "two");
+ }
+
+ /**
+ * Verifies a key to be invalidated by invoking a flow script.
+ *
+ * @throws Exception In case of environmental errors.
+ */
+ public void testUncacheWithFlow() throws Exception {
+// this.loadXmlPage("cocoon-eventcache-sample/it/demo?pageKey=two");
+// assertEquals(200, this.response.getStatusCode());
+// assertXPath("/eventcache/key", "two");
+// String firstLoaded = this.response.getContentAsString();
+// this.loadResponse("cocoon-eventcache-sample/it/flow?event=two&pageKey=two");
+// // Check for correct redirect
+// assertEquals(302, this.response.getStatusCode());
+// // Check, whether the response has changed
+// assertNotSame(this.response.getContentAsString(), firstLoaded);
+// this.loadXmlPage("cocoon-eventcache-sample/it/demo?pageKey=two");
+// assertXPath("/eventcache/key", "two");
+ }
+}
\ No newline at end of file
diff --git a/cocoon-webapp/cocoon-webapp-2.2.1/src/test/java/org/apache/cocoon/it/blocks/jms/JMSTest.java b/cocoon-webapp/cocoon-webapp-2.2.1/src/test/java/org/apache/cocoon/it/blocks/jms/JMSTest.java
new file mode 100644
index 0000000..75a3ca4
--- /dev/null
+++ b/cocoon-webapp/cocoon-webapp-2.2.1/src/test/java/org/apache/cocoon/it/blocks/jms/JMSTest.java
@@ -0,0 +1,54 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You 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.it.blocks.jms;
+
+import org.apache.cocoon.tools.it.HtmlUnitTestCase;
+
+/**
+ * Runs various component and integration tests on the JMS block.
+ */
+public class JMSTest extends HtmlUnitTestCase {
+
+ public void testGetCachedContent() throws Exception {
+// this.loadXmlPage("cocoon-jms-sample/it/demo?pageKey=one");
+// assertEquals(200, this.response.getStatusCode());
+// assertXPath("/eventcache/key", "one");
+// String firstLoaded = this.response.getContentAsString();
+// this.loadXmlPage("cocoon-jms-sample/it/demo?pageKey=one");
+// assertEquals(200, this.response.getStatusCode());
+// assertEquals(this.response.getContentAsString(), firstLoaded);
+ }
+
+ /**
+ * Verifies a key to be invalidated by invoking an action.
+ *
+ * @throws Exception In case of environmental errors.
+ */
+ public void testUncacheWithJMSAction() throws Exception {
+// this.loadXmlPage("cocoon-jms-sample/it/demo?pageKey=two");
+// assertEquals(200, this.response.getStatusCode());
+// assertXPath("/eventcache/key", "two");
+// String firstLoaded = this.response.getContentAsString();
+// this.loadResponse("cocoon-jms-sample/it/action?event=two&pageKey=two");
+// // Check for correct redirect
+// assertEquals(302, this.response.getStatusCode());
+// // Check, whether the response has changed
+// assertNotSame(this.response.getContentAsString(), firstLoaded);
+// this.loadXmlPage("cocoon-jms-sample/it/demo?pageKey=two");
+// assertXPath("/eventcache/key", "two");
+ }
+}
\ No newline at end of file
diff --git a/cocoon-webapp/cocoon-webapp-2.2.1/src/test/java/org/apache/cocoon/it/blocks/template/PassingSitemapParameters.java b/cocoon-webapp/cocoon-webapp-2.2.1/src/test/java/org/apache/cocoon/it/blocks/template/PassingSitemapParameters.java
new file mode 100644
index 0000000..5f10ed8
--- /dev/null
+++ b/cocoon-webapp/cocoon-webapp-2.2.1/src/test/java/org/apache/cocoon/it/blocks/template/PassingSitemapParameters.java
@@ -0,0 +1,39 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You 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.it.blocks.template;
+
+import junit.framework.Assert;
+
+import org.apache.cocoon.tools.it.HtmlUnitTestCase;
+
+public class PassingSitemapParameters extends HtmlUnitTestCase {
+
+ public void testSimpleSitemapParameterPassing() throws Exception {
+ this.loadXmlPage("cocoon-template-sample/it/parameter-from-sitemap");
+ Assert.assertTrue(this.response.getStatusCode() == 200);
+ assertXPath("/parameters/parameter[@name='abc']", "123");
+ }
+
+ public void testSitemapParameterPassingInJxImport() throws Exception {
+ this.loadXmlPage("cocoon-template-sample/it/parameter-from-sitemap-with-import");
+ Assert.assertTrue(this.response.getStatusCode() == 200);
+ assertXPath("/page/p1/parameters/parameter[@name='abc']", "123");
+ // Bug: https://issues.apache.org/jira/browse/COCOON-2187
+ // assertXPath("/page/p2", "123");
+ }
+
+}
diff --git a/cocoon-webapp/cocoon-webapp-2.2.1/src/test/java/org/apache/cocoon/it/servletservice/BlockPathModule.java b/cocoon-webapp/cocoon-webapp-2.2.1/src/test/java/org/apache/cocoon/it/servletservice/BlockPathModule.java
new file mode 100644
index 0000000..9086307
--- /dev/null
+++ b/cocoon-webapp/cocoon-webapp-2.2.1/src/test/java/org/apache/cocoon/it/servletservice/BlockPathModule.java
@@ -0,0 +1,32 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You 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.it.servletservice;
+
+import junit.framework.Assert;
+
+import org.apache.cocoon.tools.it.HtmlUnitTestCase;
+
+public class BlockPathModule extends HtmlUnitTestCase {
+
+ public void testSimplePipelineFromSubSitemap() throws Exception {
+ this.loadXmlPage("cocoon-servlet-service-components-sample/1/sub/abs");
+ Assert.assertTrue(this.response.getStatusCode() == 200);
+ assertXPath("/properties/@other", "/cocoon-servlet-service-components-sample/2/test");
+ assertXPath("/properties/@abs", "/cocoon-servlet-service-components-sample/1/test");
+ }
+
+}
diff --git a/cocoon-webapp/cocoon-webapp-2.2.1/src/test/java/org/apache/cocoon/it/servletservice/RequestInformationPassing.java b/cocoon-webapp/cocoon-webapp-2.2.1/src/test/java/org/apache/cocoon/it/servletservice/RequestInformationPassing.java
new file mode 100644
index 0000000..983e003
--- /dev/null
+++ b/cocoon-webapp/cocoon-webapp-2.2.1/src/test/java/org/apache/cocoon/it/servletservice/RequestInformationPassing.java
@@ -0,0 +1,72 @@
+/*
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements. See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You 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.it.servletservice;
+
+import junit.framework.Assert;
+
+import org.apache.cocoon.tools.it.HtmlUnitTestCase;
+
+public class RequestInformationPassing extends HtmlUnitTestCase {
+
+ public void testAttributes() throws Exception {
+ this.webClient.addRequestHeader("my-header-param", "6");
+ this.loadXmlPage("cocoon-servlet-service-impl-sample/test1/test4?foo=5");
+ Assert.assertTrue(this.response.getStatusCode() == 200);
+
+ // external request
+ // ~~~~~~~~~~~~~~~~
+
+ assertXPath("/page/request-parameters/parameter[@name='foo']/value", "5");
+ assertXPath("/page/header-parameters/parameter[@name='my-header-param']/value", "6");
+ assertXPath("/page/request-attributes/attribute[@name='foo']/value", "bar");
+
+
+ // sub request: requst attributes, parameters and header
+ // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+ assertXPath("/page/sub-request/page/request-parameters/parameter[@name='foo']", "5"); // from the original request
+ assertXPath("/page/sub-request/page/request-parameters/parameter[@name='xyz']", "5"); // passed value
+ assertXPath("/page/sub-request/page/header-parameters/parameter[@name='my-header-param']/value", "6"); // from the original request
+ assertXPath("/page/sub-request/page/request-attributes/attribute[@name='foo1']/value", "bar1");
+ assertXPath("/page/check-sub/request-attribute[@name='foo1']/value", "null");
+
+
+ // sub request: session handling
+ // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+ // a session attribute set from within the called request
+ assertXPath("/page/sub-request[@name='demo2-test1']/page/session-attributes/attribute[@name='attribute-from-called-request']",
+ "84");
+
+ // a session attribute set from within the calling request
+ assertXPath("/page/sub-request[@name='demo2-test1']/page/session-attributes/attribute[@name='attribute-from-calling-request']",
+ "42");
+
+ // check if a session attribute set in a called request is not accessible in the calling request session
+ assertXPath("/page/check-sub/session-attribute[@name='attribute-from-called-request']/value", "null");
+
+ // check if the attribute set the called request before, is still available
+ assertXPath("/page/sub-request[@name='demo2-test2']/page/session-attributes/attribute[@name='attribute-from-called-request']",
+ "84");
+ // check if the attribute set the calling request is still available
+ assertXPath("/page/sub-request[@name='demo2-test2']/page/session-attributes/attribute[@name='attribute-from-calling-request']",
+ "42"); // a session attribute set from within the calling request
+
+
+ }
+
+}
diff --git a/cocoon-webapp/cocoon-webapp-2.2.1/src/test/java/org/apache/cocoon/it/servletservice/ServletConnection.java b/cocoon-webapp/cocoon-webapp-2.2.1/src/test/java/org/apache/cocoon/it/servletservice/ServletConnection.java
new file mode 100644
index 0000000..2d4965e
--- /dev/null
+++ b/cocoon-webapp/cocoon-webapp-2.2.1/src/test/java/org/apache/cocoon/it/servletservice/ServletConnection.java
@@ -0,0 +1,51 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You 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.it.servletservice;
+
+import junit.framework.Assert;
+
+import org.apache.cocoon.tools.it.HtmlUnitTestCase;
+
+public class ServletConnection extends HtmlUnitTestCase {
+
+ public void testRequestDispatcher() throws Exception {
+ this.loadResponse("cocoon-servlet-service-impl-sample/test1/test3");
+ Assert.assertTrue(this.response.getStatusCode() == 200);
+ }
+
+ public void testSourceResolver() throws Exception {
+ this.loadResponse("cocoon-servlet-service-impl-sample/test1/test2");
+ Assert.assertTrue(this.response.getStatusCode() == 200);
+ }
+
+ public void testRelativeServletConnection1() throws Exception {
+ this.loadResponse("cocoon-servlet-service-impl-sample/test1/test5");
+ Assert.assertTrue(this.response.getStatusCode() == 200);
+ }
+
+ public void testRelativeServletConnection2() throws Exception {
+ this.loadResponse("cocoon-servlet-service-impl-sample/test1/test6");
+ Assert.assertTrue(this.response.getStatusCode() == 200);
+ }
+
+ public void testRelativeServletConnectionErrorStatusCode() throws Exception {
+ this.loadResponse("cocoon-servlet-service-impl-sample/test1/test9");
+ assertTrue(this.response.getContentAsString().indexOf("Forbidden") > 0);
+ Assert.assertTrue(this.response.getStatusCode() == 403);
+ }
+
+}
diff --git a/cocoon-webapp/cocoon-webapp-2.2.1/src/test/java/org/apache/cocoon/it/servletservice/ServletProtocol.java b/cocoon-webapp/cocoon-webapp-2.2.1/src/test/java/org/apache/cocoon/it/servletservice/ServletProtocol.java
new file mode 100644
index 0000000..e3f2a51
--- /dev/null
+++ b/cocoon-webapp/cocoon-webapp-2.2.1/src/test/java/org/apache/cocoon/it/servletservice/ServletProtocol.java
@@ -0,0 +1,67 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You 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.it.servletservice;
+
+import junit.framework.Assert;
+
+import org.apache.cocoon.tools.it.HtmlUnitTestCase;
+
+public class ServletProtocol extends HtmlUnitTestCase {
+
+ public void testSimplePipeline() throws Exception {
+ this.loadXmlPage("cocoon-servlet-service-components-sample/1/test");
+ Assert.assertTrue(this.response.getStatusCode() == 200);
+ assertXPath("/test", "some-text");
+ }
+
+ public void testSimpleServletProtocol() throws Exception {
+ this.loadXmlPage("cocoon-servlet-service-components-sample/1/test2");
+ Assert.assertTrue(this.response.getStatusCode() == 200);
+ assertXPath("/test2", "some-text");
+ }
+
+ public void testServletProtocolSelfReferencing() throws Exception {
+ this.loadXmlPage("cocoon-servlet-service-components-sample/1/test3");
+ Assert.assertTrue(this.response.getStatusCode() == 200);
+ assertXPath("/test", "some-text");
+ }
+
+ public void testResourceReading() throws Exception {
+ this.loadXmlPage("cocoon-servlet-service-components-sample/1/test4");
+ Assert.assertTrue(this.response.getStatusCode() == 200);
+ assertXPath("/test-resource", "some-text");
+ }
+
+ public void testServletServiceGenerator() throws Exception {
+ this.loadXmlPage("cocoon-servlet-service-components-sample/1/test5");
+ Assert.assertTrue(this.response.getStatusCode() == 200);
+ assertXPath("/test-result/original-content/test", "some-text");
+ }
+
+ public void testServletServiceTransformer() throws Exception {
+ this.loadXmlPage("cocoon-servlet-service-components-sample/1/test6");
+ Assert.assertTrue(this.response.getStatusCode() == 200);
+ assertXPath("/test-result/original-content/test", "some-text");
+ }
+
+ public void testServletServiceSerializer() throws Exception {
+ this.loadXmlPage("cocoon-servlet-service-components-sample/1/test7");
+ Assert.assertTrue(this.response.getStatusCode() == 200);
+ assertXPath("/test-result/original-content/test", "some-text");
+ }
+
+}
diff --git a/cocoon-webapp/cocoon-webapp-2.2.1/src/test/java/org/apache/cocoon/it/servletservice/SubSitemaps.java b/cocoon-webapp/cocoon-webapp-2.2.1/src/test/java/org/apache/cocoon/it/servletservice/SubSitemaps.java
new file mode 100644
index 0000000..2ead9ad
--- /dev/null
+++ b/cocoon-webapp/cocoon-webapp-2.2.1/src/test/java/org/apache/cocoon/it/servletservice/SubSitemaps.java
@@ -0,0 +1,37 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You 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.it.servletservice;
+
+import junit.framework.Assert;
+
+import org.apache.cocoon.tools.it.HtmlUnitTestCase;
+
+public class SubSitemaps extends HtmlUnitTestCase {
+
+ public void testSimplePipelineFromSubSitemap() throws Exception {
+ this.loadXmlPage("cocoon-servlet-service-components-sample/1/sub/test");
+ Assert.assertTrue(this.response.getStatusCode() == 200);
+ assertXPath("/sub/text()", "");
+ }
+
+ public void testServletProtocolFromSubSitemap() throws Exception {
+ this.loadXmlPage("cocoon-servlet-service-components-sample/1/sub/test3");
+ Assert.assertTrue(this.response.getStatusCode() == 200);
+ assertXPath("/test", "some-text");
+ }
+
+}
diff --git a/cocoon-webapp/cocoon-webapp-2.2.1/src/test/java/org/apache/cocoon/it/sitemap/AggregationTest.java b/cocoon-webapp/cocoon-webapp-2.2.1/src/test/java/org/apache/cocoon/it/sitemap/AggregationTest.java
new file mode 100644
index 0000000..cf3a206
--- /dev/null
+++ b/cocoon-webapp/cocoon-webapp-2.2.1/src/test/java/org/apache/cocoon/it/sitemap/AggregationTest.java
@@ -0,0 +1,38 @@
+package org.apache.cocoon.it.sitemap;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You 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.
+ */
+
+import org.apache.cocoon.tools.it.HtmlUnitTestCase;
+
+/**
+ * Test aggregation.
+ */
+public class AggregationTest extends HtmlUnitTestCase {
+
+ /**
+ * A pipeline that uses the IncludeTransformer.
+ */
+ public void testIncludeTransformer() throws Exception {
+ this.loadXmlPage("/cocoon-it/aggregation/include-transformer");
+ assertTrue(this.response.getStatusCode() == 200);
+ assertEquals("text/xml", this.response.getContentType());
+ assertXPath("/sample/sub/text()", "sub");
+ }
+
+
+}
diff --git a/cocoon-webapp/cocoon-webapp-2.2.1/src/test/java/org/apache/cocoon/it/sitemap/CachingOfPipelinesTest.java b/cocoon-webapp/cocoon-webapp-2.2.1/src/test/java/org/apache/cocoon/it/sitemap/CachingOfPipelinesTest.java
new file mode 100644
index 0000000..c525e33
--- /dev/null
+++ b/cocoon-webapp/cocoon-webapp-2.2.1/src/test/java/org/apache/cocoon/it/sitemap/CachingOfPipelinesTest.java
@@ -0,0 +1,53 @@
+package org.apache.cocoon.it.sitemap;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You 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.
+ */
+
+import org.apache.cocoon.tools.it.HtmlUnitTestCase;
+
+/**
+ * Test pipeline caching
+ */
+public class CachingOfPipelinesTest extends HtmlUnitTestCase {
+
+ /**
+ * A non-caching pipeline mustn't produce the same result twice.
+ */
+ public void testNonCachingPipeline() throws Exception {
+ this.loadResponse("/cocoon-it/caching-pipeline/off");
+ String content1 = this.response.getContentAsString();
+ assertNotNull(content1);
+ this.loadResponse("/cocoon-it/caching-pipeline/off");
+ String content2 = this.response.getContentAsString();
+ assertNotNull(content2);
+ assertFalse("The response has to change with every request.", content1.equals(content2));
+ }
+
+ /**
+ * This caching pipeline always returns the same.
+ */
+ public void testCachingPipeline() throws Exception {
+ this.loadResponse("/cocoon-it/caching-pipeline/on");
+ String content1 = this.response.getContentAsString();
+ assertNotNull(content1);
+ this.loadResponse("/cocoon-it/caching-pipeline/on");
+ String content2 = this.response.getContentAsString();
+ assertNotNull(content2);
+ assertTrue("The response has to be always the same.", content1.equals(content2));
+ }
+
+}
diff --git a/cocoon-webapp/cocoon-webapp-2.2.1/src/test/java/org/apache/cocoon/it/sitemap/ControllerTest.java b/cocoon-webapp/cocoon-webapp-2.2.1/src/test/java/org/apache/cocoon/it/sitemap/ControllerTest.java
new file mode 100644
index 0000000..fd7d77b
--- /dev/null
+++ b/cocoon-webapp/cocoon-webapp-2.2.1/src/test/java/org/apache/cocoon/it/sitemap/ControllerTest.java
@@ -0,0 +1,43 @@
+package org.apache.cocoon.it.sitemap;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You 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.
+ */
+
+import org.apache.cocoon.tools.it.HtmlUnitTestCase;
+
+/**
+ * Test controller.
+ */
+public class ControllerTest extends HtmlUnitTestCase {
+
+ /**
+ * Passing on to a controller.
+ */
+ public void testControllerInvocation() throws Exception {
+ this.loadResponse("/cocoon-it/controller/invoke");
+ assertTrue(this.response.getStatusCode() == 201);
+ }
+
+ /**
+ * Continue controller execution.
+ */
+ public void testContinuingController() throws Exception {
+ this.loadResponse("/cocoon-it/controller/continue");
+ assertTrue(this.response.getStatusCode() == 202);
+ }
+
+}
diff --git a/cocoon-webapp/cocoon-webapp-2.2.1/src/test/java/org/apache/cocoon/it/sitemap/ErrorHandlingTest.java b/cocoon-webapp/cocoon-webapp-2.2.1/src/test/java/org/apache/cocoon/it/sitemap/ErrorHandlingTest.java
new file mode 100644
index 0000000..48b5403
--- /dev/null
+++ b/cocoon-webapp/cocoon-webapp-2.2.1/src/test/java/org/apache/cocoon/it/sitemap/ErrorHandlingTest.java
@@ -0,0 +1,71 @@
+package org.apache.cocoon.it.sitemap;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You 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.
+ */
+
+import org.apache.cocoon.tools.it.HtmlUnitTestCase;
+
+/**
+ * Test error handling of sitemaps.
+ */
+public class ErrorHandlingTest extends HtmlUnitTestCase {
+
+ /**
+ * If no pipeline matches, the error handling section gets activated.
+ */
+ public void testPerSitemap404() throws Exception {
+ // load this resource twice because the first time when a pipeline that
+ // doesn't set the status code 200, is being invoked, 200 is returned
+ this.loadResponse("/cocoon-it/12345678901234567890");
+ this.loadResponse("/cocoon-it/12345678901234567890");
+ int statusCode = this.response.getStatusCode();
+ assertTrue(statusCode == 404);
+ assertTrue(this.response.getContentAsString().indexOf("404 Resource Not Available (Cocoon Integration Tests)") > 0);
+ }
+
+ public void testPerSitemapCustomError() throws Exception {
+ // load this resource twice because the first time when a pipeline that
+ // doesn't set the status code 200, is being invoked, 200 is returned
+ this.loadResponse("/cocoon-it/error-handling/custom-error");
+ this.loadResponse("/cocoon-it/error-handling/custom-error");
+ int statusCode = this.response.getStatusCode();
+ assertTrue(statusCode == 500);
+ assertTrue(this.response.getContentAsString().indexOf("Error 500 (Cocoon Integration Tests)") > 0);
+ }
+
+ public void testPerPipelineCustomError() throws Exception {
+ // load this resource twice because the first time when a pipeline that
+ // doesn't set the status code 200, is being invoked, 200 is returned
+ this.loadResponse("/cocoon-it/error-handling/custom-error-per-pipeline-error-handling");
+ this.loadResponse("/cocoon-it/error-handling/custom-error-per-pipeline-error-handling");
+ int statusCode = this.response.getStatusCode();
+ assertTrue(statusCode == 501);
+ assertTrue(this.response.getContentAsString().indexOf("Error 501 (Cocoon Integration Tests)") > 0);
+ }
+
+ /*
+ * Doesn't work. See https://issues.apache.org/jira/browse/COCOON-2179
+ */
+ public void testExceptionGenerator() throws Exception {
+ for(int i = 0; i < 5; i++) {
+ this.loadResponse("/cocoon-it/error-handling/another-custom-error");
+ int statusCode = this.response.getStatusCode();
+ assertTrue(statusCode == 506);
+ }
+ }
+
+}
diff --git a/cocoon-webapp/cocoon-webapp-2.2.1/src/test/java/org/apache/cocoon/it/sitemap/ExpressionLanguageTest.java b/cocoon-webapp/cocoon-webapp-2.2.1/src/test/java/org/apache/cocoon/it/sitemap/ExpressionLanguageTest.java
new file mode 100644
index 0000000..eb56be2
--- /dev/null
+++ b/cocoon-webapp/cocoon-webapp-2.2.1/src/test/java/org/apache/cocoon/it/sitemap/ExpressionLanguageTest.java
@@ -0,0 +1,67 @@
+package org.apache.cocoon.it.sitemap;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You 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.
+ */
+
+import org.apache.cocoon.tools.it.HtmlUnitTestCase;
+
+/**
+ * Test expression language usage
+ */
+public class ExpressionLanguageTest extends HtmlUnitTestCase {
+
+ /**
+ * JEXL test
+ */
+ public void testJexl() throws Exception {
+ this.loadXmlPage("/cocoon-it/expression-language/jexl?fileName=simple");
+ assertTrue(this.response.getStatusCode() == 200);
+ assertEquals("text/xml", this.response.getContentType());
+ assertXPath("/simple", "simple-text");
+ }
+
+ /**
+ * JXPath test
+ */
+ public void testJXPath() throws Exception {
+ this.loadXmlPage("/cocoon-it/expression-language/jxpath?fileName=simple");
+ assertTrue(this.response.getStatusCode() == 200);
+ assertEquals("text/xml", this.response.getContentType());
+ assertXPath("/simple", "simple-text");
+ }
+
+ /**
+ * Map language test
+ */
+ public void testMap() throws Exception {
+ this.loadXmlPage("/cocoon-it/expression-language/map/simple");
+ assertTrue(this.response.getStatusCode() == 200);
+ assertEquals("text/xml", this.response.getContentType());
+ assertXPath("/simple", "simple-text");
+ }
+
+ /**
+ * Nested matchers/maps
+ */
+ public void testNextedMap() throws Exception {
+ this.loadXmlPage("/cocoon-it/expression-language/nested/simple");
+ assertTrue(this.response.getStatusCode() == 200);
+ assertEquals("text/xml", this.response.getContentType());
+ assertXPath("/simple", "simple-text");
+ }
+
+}
diff --git a/cocoon-webapp/cocoon-webapp-2.2.1/src/test/java/org/apache/cocoon/it/sitemap/ObjectModelTest.java b/cocoon-webapp/cocoon-webapp-2.2.1/src/test/java/org/apache/cocoon/it/sitemap/ObjectModelTest.java
new file mode 100644
index 0000000..22fe9c3
--- /dev/null
+++ b/cocoon-webapp/cocoon-webapp-2.2.1/src/test/java/org/apache/cocoon/it/sitemap/ObjectModelTest.java
@@ -0,0 +1,39 @@
+package org.apache.cocoon.it.sitemap;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You 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.
+ */
+
+import org.apache.cocoon.tools.it.HtmlUnitTestCase;
+import org.custommonkey.xmlunit.Diff;
+
+/**
+ * Test accessing the object model.
+ */
+public class ObjectModelTest extends HtmlUnitTestCase {
+
+ /**
+ * Accessing all request parameters from within a generator.
+ */
+ public void testTemporaryRedirect() throws Exception {
+ this.loadResponse("/cocoon-it/object-model/request-parameters?a=1&b=2&c=3");
+ assertEquals(200, this.response.getStatusCode());
+ String content = this.response.getContentAsString();
+ String expectedContent = "<?xml version=\"1.0\"?><request-paramters><a>1</a><c>3</c><b>2</b></request-paramters>";
+ assertTrue(new Diff(expectedContent, content).similar());
+ }
+
+}
diff --git a/cocoon-webapp/cocoon-webapp-2.2.1/src/test/java/org/apache/cocoon/it/sitemap/ParameterPassing.java b/cocoon-webapp/cocoon-webapp-2.2.1/src/test/java/org/apache/cocoon/it/sitemap/ParameterPassing.java
new file mode 100644
index 0000000..88c26b1
--- /dev/null
+++ b/cocoon-webapp/cocoon-webapp-2.2.1/src/test/java/org/apache/cocoon/it/sitemap/ParameterPassing.java
@@ -0,0 +1,47 @@
+package org.apache.cocoon.it.sitemap;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You 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.
+ */
+
+import org.apache.cocoon.tools.it.HtmlUnitTestCase;
+
+/**
+ * Test passing parameters.
+ */
+public class ParameterPassing extends HtmlUnitTestCase {
+
+ /**
+ * Passing parameters from a matcher to the sitemap.
+ */
+ public void testPassingParamatersFromMatcherToSitemap() throws Exception {
+ this.loadXmlPage("/cocoon-it/parameter-passing/working");
+ assertTrue(this.response.getStatusCode() == 200);
+ assertEquals("text/xml", this.response.getContentType());
+ assertXPath("/simple", "simple-text");
+ }
+
+ /**
+ * Passing null from a matcher to the sitemap (-> doesn't match)
+ */
+ public void testPassingNullMatcherToSitemap() throws Exception {
+ this.webClient.setThrowExceptionOnFailingStatusCode(false);
+ this.loadResponse("/cocoon-it/parameter-passing/failing");
+ this.loadResponse("/cocoon-it/parameter-passing/failing");
+ assertTrue(this.response.getStatusCode() == 404);
+ }
+
+}
diff --git a/cocoon-webapp/cocoon-webapp-2.2.1/src/test/java/org/apache/cocoon/it/sitemap/ReaderTest.java b/cocoon-webapp/cocoon-webapp-2.2.1/src/test/java/org/apache/cocoon/it/sitemap/ReaderTest.java
new file mode 100644
index 0000000..4c93ce0
--- /dev/null
+++ b/cocoon-webapp/cocoon-webapp-2.2.1/src/test/java/org/apache/cocoon/it/sitemap/ReaderTest.java
@@ -0,0 +1,57 @@
+package org.apache.cocoon.it.sitemap;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You 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.
+ */
+
+import org.apache.cocoon.tools.it.HtmlUnitTestCase;
+
+/**
+ * Test readers
+ */
+public class ReaderTest extends HtmlUnitTestCase {
+
+ /**
+ * Call a pipeline that explicitly sets the mime-type of the resource.
+ */
+ public void testReadingResourceWithExplicitMimeType() throws Exception {
+ this.loadResponse("/cocoon-it/read/javascript-resource-explicit");
+ assertTrue(this.response.getStatusCode() == 200);
+ assertEquals("text/javascript", this.response.getContentType());
+ assertEquals("853", this.response.getResponseHeaderValue("Content-Length"));
+ }
+
+ /**
+ * Call a pipeline that automatically sets the mime-type of the resource.
+ */
+ public void testReadingResourceWithImplicitMimeType() throws Exception {
+ this.loadResponse("/cocoon-it/read/javascript-resource-implicit");
+ assertTrue(this.response.getStatusCode() == 200);
+ assertEquals("application/x-javascript", this.response.getContentType());
+ }
+
+ /**
+ * A resource reader supports conditional gets.
+ */
+ public void testConditionalGet() throws Exception {
+ this.loadResponse("/cocoon-it/read/javascript-resource-implicit");
+ String lastModified = this.response.getResponseHeaderValue("Last-Modified");
+ this.webClient.addRequestHeader("If-Modified-Since", lastModified);
+ this.loadResponse("/cocoon-it/read/javascript-resource-implicit");
+ assertEquals(304, this.response.getStatusCode());
+ }
+
+}
diff --git a/cocoon-webapp/cocoon-webapp-2.2.1/src/test/java/org/apache/cocoon/it/sitemap/RedirectTest.java b/cocoon-webapp/cocoon-webapp-2.2.1/src/test/java/org/apache/cocoon/it/sitemap/RedirectTest.java
new file mode 100644
index 0000000..47cc55c
--- /dev/null
+++ b/cocoon-webapp/cocoon-webapp-2.2.1/src/test/java/org/apache/cocoon/it/sitemap/RedirectTest.java
@@ -0,0 +1,36 @@
+package org.apache.cocoon.it.sitemap;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You 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.
+ */
+
+import org.apache.cocoon.tools.it.HtmlUnitTestCase;
+
+/**
+ * Test redirecting
+ */
+public class RedirectTest extends HtmlUnitTestCase {
+
+ /**
+ * A temporary redirect
+ */
+ public void testTemporaryRedirect() throws Exception {
+ this.loadResponse("/cocoon-it/redirect/www.orf.at");
+ assertEquals(302, this.response.getStatusCode());
+ assertEquals("http://www.orf.at", this.response.getResponseHeaderValue("Location"));
+ }
+
+}
diff --git a/cocoon-webapp/cocoon-webapp-2.2.1/src/test/java/org/apache/cocoon/it/sitemap/SaxPipelineTest.java b/cocoon-webapp/cocoon-webapp-2.2.1/src/test/java/org/apache/cocoon/it/sitemap/SaxPipelineTest.java
new file mode 100644
index 0000000..9dbf53a
--- /dev/null
+++ b/cocoon-webapp/cocoon-webapp-2.2.1/src/test/java/org/apache/cocoon/it/sitemap/SaxPipelineTest.java
@@ -0,0 +1,73 @@
+package org.apache.cocoon.it.sitemap;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You 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.
+ */
+
+import org.apache.cocoon.tools.it.HtmlUnitTestCase;
+
+/**
+ * Test SAX Pipelines
+ */
+public class SaxPipelineTest extends HtmlUnitTestCase {
+
+ /**
+ * A simple pipeline that produces an HTML document.
+ */
+ public void testSimplePipeline() throws Exception {
+ this.loadResponse("/cocoon-it/sax-pipeline/simple");
+ assertTrue(this.response.getStatusCode() == 200);
+ assertEquals("text/html", this.response.getContentType());
+ assertTrue(this.response.getContentAsString().indexOf("-//W3C//DTD XHTML 1.0 Strict//EN") == -1);
+ }
+
+ /**
+ * A simple pipeline that produces an XHTML 1.0 document. This implicitly
+ * tests if the configuration of serializers works properly.
+ */
+ public void testSimplePipelineXhtml() throws Exception {
+ this.loadResponse("/cocoon-it/sax-pipeline/simple-xhtml");
+ assertTrue(this.response.getStatusCode() == 200);
+ assertEquals("text/html", this.response.getContentType());
+ assertTrue(this.response.getContentAsString().indexOf("-//W3C//DTD XHTML 1.0 Strict//EN") > 0);
+ }
+
+ /**
+ * A parameter is passed to an XSLT transformer.
+ */
+ public void testSimplePipelineParameterPassingToTransformer() throws Exception {
+ this.loadXmlPage("/cocoon-it/sax-pipeline/simple-xml");
+ assertTrue(this.response.getStatusCode() == 200);
+ assertEquals("text/xml", this.response.getContentType());
+ assertXPath("/html/body/p", "3");
+ }
+
+ /**
+ * A status code is set explicitly at a serializer.
+ */
+ public void testSettingStatusCode() throws Exception {
+ // load this resource twice because the first time when a pipeline that
+ // doesn't set the status code 200, is being invoked, 200 is returned
+ this.loadResponse("/cocoon-it/sax-pipeline/unauthorized");
+ this.loadResponse("/cocoon-it/sax-pipeline/unauthorized");
+ int statusCode = this.response.getStatusCode();
+ assertTrue(statusCode == 401);
+ String lastModified = this.response.getResponseHeaderValue("Last-Modified");
+ assertNotNull(lastModified);
+ assertFalse(lastModified.equals(""));
+ }
+
+}
diff --git a/cocoon-webapp/cocoon-webapp-2.2.1/src/test/java/org/apache/cocoon/it/sitemap/SerletScopeTest.java b/cocoon-webapp/cocoon-webapp-2.2.1/src/test/java/org/apache/cocoon/it/sitemap/SerletScopeTest.java
new file mode 100644
index 0000000..f3f0cb7
--- /dev/null
+++ b/cocoon-webapp/cocoon-webapp-2.2.1/src/test/java/org/apache/cocoon/it/sitemap/SerletScopeTest.java
@@ -0,0 +1,36 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You 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.it.sitemap;
+
+import javax.servlet.http.HttpServletResponse;
+
+import org.apache.cocoon.tools.it.HtmlUnitTestCase;
+
+public class SerletScopeTest extends HtmlUnitTestCase {
+
+ public void testServletScope() throws Exception {
+ this.loadResponse("/cocoon-it/demo1/setCode?code=300");
+ assertEquals(HttpServletResponse.SC_OK, this.response.getStatusCode());
+ this.loadResponse("/cocoon-it/demo2/setCode?code=301");
+ assertEquals(HttpServletResponse.SC_OK, this.response.getStatusCode());
+
+ this.loadResponse("/cocoon-it/demo1/getCode");
+ assertEquals(300, this.response.getStatusCode());
+ this.loadResponse("/cocoon-it/demo2/getCode");
+ assertEquals(301, this.response.getStatusCode());
+ }
+}
diff --git a/cocoon-webapp/cocoon-webapp-2.2.1/src/test/java/org/apache/cocoon/it/sitemap/ServletServiceTest.java b/cocoon-webapp/cocoon-webapp-2.2.1/src/test/java/org/apache/cocoon/it/sitemap/ServletServiceTest.java
new file mode 100644
index 0000000..8c48243
--- /dev/null
+++ b/cocoon-webapp/cocoon-webapp-2.2.1/src/test/java/org/apache/cocoon/it/sitemap/ServletServiceTest.java
@@ -0,0 +1,37 @@
+package org.apache.cocoon.it.sitemap;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You 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.
+ */
+
+import org.apache.cocoon.tools.it.HtmlUnitTestCase;
+
+/**
+ * Test the usage of servlet services in Cocoon sitemaps.
+ */
+public class ServletServiceTest extends HtmlUnitTestCase {
+
+ /**
+ * A parameter is passed to an XSLT transformer.
+ */
+ public void testSimplePipelineParameterPassingToTransformer() throws Exception {
+ this.loadXmlPage("/cocoon-it/ssf/local");
+ assertTrue(this.response.getStatusCode() == 200);
+ assertEquals("text/xml", this.response.getContentType());
+ assertXPath("/html/body/p", "3");
+ }
+
+}
diff --git a/cocoon-webapp/cocoon-webapp-2.2.1/src/test/java/org/apache/cocoon/it/sitemap/XSLTTest.java b/cocoon-webapp/cocoon-webapp-2.2.1/src/test/java/org/apache/cocoon/it/sitemap/XSLTTest.java
new file mode 100644
index 0000000..98851f6
--- /dev/null
+++ b/cocoon-webapp/cocoon-webapp-2.2.1/src/test/java/org/apache/cocoon/it/sitemap/XSLTTest.java
@@ -0,0 +1,39 @@
+package org.apache.cocoon.it.sitemap;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You 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.
+ */
+
+import org.apache.cocoon.tools.it.HtmlUnitTestCase;
+
+/**
+ * Test XSLT transformation.
+ */
+public class XSLTTest extends HtmlUnitTestCase {
+
+ /**
+ * Use an XSLT that includes sub stylesheets using the file and the servlet
+ * protocol.
+ */
+ public void testXSLTTransformation() throws Exception {
+ this.loadXmlPage("/cocoon-it/xslt/main");
+ assertTrue(this.response.getStatusCode() == 200);
+ assertEquals("text/xml", this.response.getContentType());
+ assertXPath("/xslt/servlet", "servlet");
+ assertXPath("/xslt/file", "file");
+ }
+
+}