You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@cocoon.apache.org by re...@apache.org on 2004/09/25 11:43:05 UTC
svn commit: rev 47195 - in cocoon/whiteboard/block-deployer: . legal lib mapping src src/api src/api/org src/api/org/apache src/api/org/apache/cocoon src/api/org/apache/cocoon/blockdeployer src/api/org/apache/cocoon/blockdeployer/block src/api/org/apache/cocoon/blockdeployer/locking src/api/org/apache/cocoon/blockdeployer/repository src/api/org/apache/cocoon/blockdeployer/wiring src/documentation src/documentation/classes src/documentation/content src/documentation/content/xdocs src/documentation/content/xdocs/devdocs src/documentation/content/xdocs/images src/documentation/content/xdocs/userdocs src/documentation/images src/documentation/translations src/impl src/impl/org src/impl/org/apache src/impl/org/apache/cocoon src/impl/org/apache/cocoon/blockdeployer src/impl/org/apache/cocoon/blockdeployer/block src/impl/org/apache/cocoon/blockdeployer/locking src/impl/org/apache/cocoon/blockdeployer/repository src/impl/org/apache/cocoon/blockdeployer/utils src/impl/org/apache/cocoon/blockdeployer/wiring src/schema test test/junit test/junit/org test/junit/org/apache test/junit/org/apache/cocoon test/junit/org/apache/cocoon/blockdeployer test/junit/org/apache/cocoon/blockdeployer/repository test/junit/org/apache/cocoon/blockdeployer/utils test/sample-repositories test/sample-repositories/rep1 test/sample-repositories/rep1/mycompany.com test/sample-repositories/rep1/mycompany.com/invalid test/sample-repositories/rep1/mycompany.com/invalid/1.0.0 test/sample-repositories/rep1/mycompany.com/webmail test/sample-repositories/rep1/mycompany.com/webmail/1.3.43 test/sample-repositories/rep2 tools tools/lib
Author: reinhard
Date: Sat Sep 25 02:43:04 2004
New Revision: 47195
Added:
cocoon/whiteboard/block-deployer/
cocoon/whiteboard/block-deployer/.classpath
cocoon/whiteboard/block-deployer/.project
cocoon/whiteboard/block-deployer/CREDITS.txt
cocoon/whiteboard/block-deployer/LICENSE.txt
cocoon/whiteboard/block-deployer/build.bat
cocoon/whiteboard/block-deployer/build.sh
cocoon/whiteboard/block-deployer/build.xml
cocoon/whiteboard/block-deployer/forrest.properties
cocoon/whiteboard/block-deployer/legal/
cocoon/whiteboard/block-deployer/legal/ant.license.txt
cocoon/whiteboard/block-deployer/legal/asm-1.4.3.jar.license.txt
cocoon/whiteboard/block-deployer/legal/castor-0.9.5.3.jar.txt
cocoon/whiteboard/block-deployer/legal/cglib-2.0.1.jar.license.txt
cocoon/whiteboard/block-deployer/legal/easymock-1.1.jar.txt
cocoon/whiteboard/block-deployer/legal/easymockclassextension-1.1.jar.txt
cocoon/whiteboard/block-deployer/legal/junit-3.8.1.jar.license.txt
cocoon/whiteboard/block-deployer/lib/
cocoon/whiteboard/block-deployer/lib/castor-0.9.5.3-xml.jar (contents, props changed)
cocoon/whiteboard/block-deployer/lib/xercesImpl-2.6.2.jar (contents, props changed)
cocoon/whiteboard/block-deployer/lib/xml-apis.jar (contents, props changed)
cocoon/whiteboard/block-deployer/mapping/
cocoon/whiteboard/block-deployer/mapping/block.xml-mapping.xml
cocoon/whiteboard/block-deployer/mapping/sample-block.xml
cocoon/whiteboard/block-deployer/mapping/sample-wiring.xml
cocoon/whiteboard/block-deployer/src/
cocoon/whiteboard/block-deployer/src/api/
cocoon/whiteboard/block-deployer/src/api/org/
cocoon/whiteboard/block-deployer/src/api/org/apache/
cocoon/whiteboard/block-deployer/src/api/org/apache/cocoon/
cocoon/whiteboard/block-deployer/src/api/org/apache/cocoon/blockdeployer/
cocoon/whiteboard/block-deployer/src/api/org/apache/cocoon/blockdeployer/block/
cocoon/whiteboard/block-deployer/src/api/org/apache/cocoon/blockdeployer/block/Block.java
cocoon/whiteboard/block-deployer/src/api/org/apache/cocoon/blockdeployer/block/BlockDescriptor.java
cocoon/whiteboard/block-deployer/src/api/org/apache/cocoon/blockdeployer/block/BlockProperty.java
cocoon/whiteboard/block-deployer/src/api/org/apache/cocoon/blockdeployer/block/RemoteBlock.java
cocoon/whiteboard/block-deployer/src/api/org/apache/cocoon/blockdeployer/locking/
cocoon/whiteboard/block-deployer/src/api/org/apache/cocoon/blockdeployer/locking/Lock.java
cocoon/whiteboard/block-deployer/src/api/org/apache/cocoon/blockdeployer/locking/LockingException.java
cocoon/whiteboard/block-deployer/src/api/org/apache/cocoon/blockdeployer/repository/
cocoon/whiteboard/block-deployer/src/api/org/apache/cocoon/blockdeployer/repository/Browsable.java
cocoon/whiteboard/block-deployer/src/api/org/apache/cocoon/blockdeployer/repository/Credentials.java
cocoon/whiteboard/block-deployer/src/api/org/apache/cocoon/blockdeployer/repository/Deployable.java
cocoon/whiteboard/block-deployer/src/api/org/apache/cocoon/blockdeployer/repository/Locator.java
cocoon/whiteboard/block-deployer/src/api/org/apache/cocoon/blockdeployer/repository/Lockable.java
cocoon/whiteboard/block-deployer/src/api/org/apache/cocoon/blockdeployer/repository/Repository.java
cocoon/whiteboard/block-deployer/src/api/org/apache/cocoon/blockdeployer/repository/Searchable.java
cocoon/whiteboard/block-deployer/src/api/org/apache/cocoon/blockdeployer/repository/UnavailableBlockException.java
cocoon/whiteboard/block-deployer/src/api/org/apache/cocoon/blockdeployer/repository/UnsupportedBlockException.java
cocoon/whiteboard/block-deployer/src/api/org/apache/cocoon/blockdeployer/repository/Writeable.java
cocoon/whiteboard/block-deployer/src/api/org/apache/cocoon/blockdeployer/wiring/
cocoon/whiteboard/block-deployer/src/api/org/apache/cocoon/blockdeployer/wiring/Wiring.java
cocoon/whiteboard/block-deployer/src/documentation/
cocoon/whiteboard/block-deployer/src/documentation/README.txt
cocoon/whiteboard/block-deployer/src/documentation/classes/
cocoon/whiteboard/block-deployer/src/documentation/classes/CatalogManager.properties
cocoon/whiteboard/block-deployer/src/documentation/content/
cocoon/whiteboard/block-deployer/src/documentation/content/hello.pdf
cocoon/whiteboard/block-deployer/src/documentation/content/test1.html
cocoon/whiteboard/block-deployer/src/documentation/content/test2.html
cocoon/whiteboard/block-deployer/src/documentation/content/xdocs/
cocoon/whiteboard/block-deployer/src/documentation/content/xdocs/devdocs/
cocoon/whiteboard/block-deployer/src/documentation/content/xdocs/devdocs/goals.xml
cocoon/whiteboard/block-deployer/src/documentation/content/xdocs/devdocs/overview.xml
cocoon/whiteboard/block-deployer/src/documentation/content/xdocs/devdocs/unit-testing.xml
cocoon/whiteboard/block-deployer/src/documentation/content/xdocs/images/
cocoon/whiteboard/block-deployer/src/documentation/content/xdocs/images/group-logo.gif (contents, props changed)
cocoon/whiteboard/block-deployer/src/documentation/content/xdocs/images/group.svg
cocoon/whiteboard/block-deployer/src/documentation/content/xdocs/images/icon.png (contents, props changed)
cocoon/whiteboard/block-deployer/src/documentation/content/xdocs/images/project-logo.gif (contents, props changed)
cocoon/whiteboard/block-deployer/src/documentation/content/xdocs/images/project.svg
cocoon/whiteboard/block-deployer/src/documentation/content/xdocs/index.xml
cocoon/whiteboard/block-deployer/src/documentation/content/xdocs/introduction.xml
cocoon/whiteboard/block-deployer/src/documentation/content/xdocs/license.xml
cocoon/whiteboard/block-deployer/src/documentation/content/xdocs/site.xml
cocoon/whiteboard/block-deployer/src/documentation/content/xdocs/tabs.xml
cocoon/whiteboard/block-deployer/src/documentation/content/xdocs/userdocs/
cocoon/whiteboard/block-deployer/src/documentation/content/xdocs/userdocs/introduction.xml
cocoon/whiteboard/block-deployer/src/documentation/images/
cocoon/whiteboard/block-deployer/src/documentation/images/cocoon-project-logo.png (contents, props changed)
cocoon/whiteboard/block-deployer/src/documentation/skinconf.xml
cocoon/whiteboard/block-deployer/src/documentation/translations/
cocoon/whiteboard/block-deployer/src/documentation/translations/langcode.xml
cocoon/whiteboard/block-deployer/src/documentation/translations/languages_en.xml
cocoon/whiteboard/block-deployer/src/documentation/translations/languages_es.xml
cocoon/whiteboard/block-deployer/src/documentation/translations/menu.xml
cocoon/whiteboard/block-deployer/src/documentation/translations/menu_af.xml
cocoon/whiteboard/block-deployer/src/documentation/translations/menu_de.xml
cocoon/whiteboard/block-deployer/src/documentation/translations/menu_es.xml
cocoon/whiteboard/block-deployer/src/documentation/translations/menu_it.xml
cocoon/whiteboard/block-deployer/src/documentation/translations/menu_no.xml
cocoon/whiteboard/block-deployer/src/documentation/translations/menu_ru.xml
cocoon/whiteboard/block-deployer/src/documentation/translations/menu_sk.xml
cocoon/whiteboard/block-deployer/src/documentation/translations/tabs.xml
cocoon/whiteboard/block-deployer/src/documentation/translations/tabs_es.xml
cocoon/whiteboard/block-deployer/src/impl/
cocoon/whiteboard/block-deployer/src/impl/org/
cocoon/whiteboard/block-deployer/src/impl/org/apache/
cocoon/whiteboard/block-deployer/src/impl/org/apache/cocoon/
cocoon/whiteboard/block-deployer/src/impl/org/apache/cocoon/blockdeployer/
cocoon/whiteboard/block-deployer/src/impl/org/apache/cocoon/blockdeployer/block/
cocoon/whiteboard/block-deployer/src/impl/org/apache/cocoon/blockdeployer/block/BlockPropertyImpl.java
cocoon/whiteboard/block-deployer/src/impl/org/apache/cocoon/blockdeployer/block/RealBlock.java
cocoon/whiteboard/block-deployer/src/impl/org/apache/cocoon/blockdeployer/block/RealBlockDescriptor.java
cocoon/whiteboard/block-deployer/src/impl/org/apache/cocoon/blockdeployer/block/RealRemoteBlock.java
cocoon/whiteboard/block-deployer/src/impl/org/apache/cocoon/blockdeployer/block/RemoteBlockFactory.java
cocoon/whiteboard/block-deployer/src/impl/org/apache/cocoon/blockdeployer/locking/
cocoon/whiteboard/block-deployer/src/impl/org/apache/cocoon/blockdeployer/locking/FilesystemLock.java
cocoon/whiteboard/block-deployer/src/impl/org/apache/cocoon/blockdeployer/repository/
cocoon/whiteboard/block-deployer/src/impl/org/apache/cocoon/blockdeployer/repository/ApplicationServerLocator.java
cocoon/whiteboard/block-deployer/src/impl/org/apache/cocoon/blockdeployer/repository/DefaultRepository.java
cocoon/whiteboard/block-deployer/src/impl/org/apache/cocoon/blockdeployer/repository/DependencyBuilder.java
cocoon/whiteboard/block-deployer/src/impl/org/apache/cocoon/blockdeployer/repository/FilesystemLocator.java
cocoon/whiteboard/block-deployer/src/impl/org/apache/cocoon/blockdeployer/repository/LocatorFactory.java
cocoon/whiteboard/block-deployer/src/impl/org/apache/cocoon/blockdeployer/utils/
cocoon/whiteboard/block-deployer/src/impl/org/apache/cocoon/blockdeployer/utils/LocatorUtils.java
cocoon/whiteboard/block-deployer/src/impl/org/apache/cocoon/blockdeployer/wiring/
cocoon/whiteboard/block-deployer/src/impl/org/apache/cocoon/blockdeployer/wiring/WiringBuilder.java
cocoon/whiteboard/block-deployer/src/impl/org/apache/cocoon/blockdeployer/wiring/WiringWriter.java
cocoon/whiteboard/block-deployer/src/schema/
cocoon/whiteboard/block-deployer/src/schema/cob-schema-1.0.xsd
cocoon/whiteboard/block-deployer/status.xml
cocoon/whiteboard/block-deployer/test/
cocoon/whiteboard/block-deployer/test/junit/
cocoon/whiteboard/block-deployer/test/junit/org/
cocoon/whiteboard/block-deployer/test/junit/org/apache/
cocoon/whiteboard/block-deployer/test/junit/org/apache/cocoon/
cocoon/whiteboard/block-deployer/test/junit/org/apache/cocoon/blockdeployer/
cocoon/whiteboard/block-deployer/test/junit/org/apache/cocoon/blockdeployer/Constants.java
cocoon/whiteboard/block-deployer/test/junit/org/apache/cocoon/blockdeployer/repository/
cocoon/whiteboard/block-deployer/test/junit/org/apache/cocoon/blockdeployer/repository/DefaultRepositoryTest.java
cocoon/whiteboard/block-deployer/test/junit/org/apache/cocoon/blockdeployer/repository/FilesystemLocatorTest.java
cocoon/whiteboard/block-deployer/test/junit/org/apache/cocoon/blockdeployer/utils/
cocoon/whiteboard/block-deployer/test/junit/org/apache/cocoon/blockdeployer/utils/FilesystemUtilsTest.java
cocoon/whiteboard/block-deployer/test/sample-repositories/
cocoon/whiteboard/block-deployer/test/sample-repositories/rep1/
cocoon/whiteboard/block-deployer/test/sample-repositories/rep1/mycompany.com/
cocoon/whiteboard/block-deployer/test/sample-repositories/rep1/mycompany.com/invalid/
cocoon/whiteboard/block-deployer/test/sample-repositories/rep1/mycompany.com/invalid/1.0.0/
cocoon/whiteboard/block-deployer/test/sample-repositories/rep1/mycompany.com/invalid/1.0.0/invalid.cob (contents, props changed)
cocoon/whiteboard/block-deployer/test/sample-repositories/rep1/mycompany.com/webmail/
cocoon/whiteboard/block-deployer/test/sample-repositories/rep1/mycompany.com/webmail/1.3.43/
cocoon/whiteboard/block-deployer/test/sample-repositories/rep1/mycompany.com/webmail/1.3.43/webmail-1.3.43.cob (contents, props changed)
cocoon/whiteboard/block-deployer/test/sample-repositories/rep2/
cocoon/whiteboard/block-deployer/tools/
cocoon/whiteboard/block-deployer/tools/lib/
cocoon/whiteboard/block-deployer/tools/lib/asm-1.4.3.jar (contents, props changed)
cocoon/whiteboard/block-deployer/tools/lib/cglib-2.0.1.jar (contents, props changed)
cocoon/whiteboard/block-deployer/tools/lib/easymock-1.1.jar (contents, props changed)
cocoon/whiteboard/block-deployer/tools/lib/easymockclassextension-1.1.jar (contents, props changed)
cocoon/whiteboard/block-deployer/tools/lib/junit-3.8.1.jar (contents, props changed)
Log:
initial import
Added: cocoon/whiteboard/block-deployer/.classpath
==============================================================================
--- (empty file)
+++ cocoon/whiteboard/block-deployer/.classpath Sat Sep 25 02:43:04 2004
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="src" path="src/api"/>
+ <classpathentry kind="src" path="test/junit"/>
+ <classpathentry kind="src" path="src/impl"/>
+ <classpathentry kind="lib" path="lib/castor-0.9.5.3-xml.jar"/>
+ <classpathentry kind="lib" path="tools/lib/asm-1.4.3.jar"/>
+ <classpathentry kind="lib" path="tools/lib/cglib-2.0.1.jar"/>
+ <classpathentry kind="lib" path="lib/xercesImpl-2.6.2.jar"/>
+ <classpathentry kind="lib" path="lib/xml-apis.jar"/>
+ <classpathentry kind="lib" path="tools/lib/junit-3.8.1.jar"/>
+ <classpathentry kind="lib" path="tools/lib/easymock-1.1.jar"/>
+ <classpathentry kind="lib" path="tools/lib/easymockclassextension-1.1.jar"/>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
+ <classpathentry kind="output" path="build/eclipse"/>
+</classpath>
Added: cocoon/whiteboard/block-deployer/.project
==============================================================================
--- (empty file)
+++ cocoon/whiteboard/block-deployer/.project Sat Sep 25 02:43:04 2004
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>CocoonBlockDeployer</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ </natures>
+</projectDescription>
Added: cocoon/whiteboard/block-deployer/CREDITS.txt
==============================================================================
--- (empty file)
+++ cocoon/whiteboard/block-deployer/CREDITS.txt Sat Sep 25 02:43:04 2004
@@ -0,0 +1,19 @@
+
+ C R E D I T S
+
+This is the file where major donations to the Cocoon project are listed and it
+should be used to give appropriate visibility to those inviduals, organizations
+or companies that donated resources to the effort. This file wants to be one of
+the ways the Cocoon community pays back.
+
+
+ Community Credits
+ -----------------
+
+The Cocoon Blocks-Deployer project was originally created, proposed and bootstrapped by
+Reinhard P�tz (http://www.poetz.cc).
+
+Michael Gerzabek (http://www.gerzabek.cc) supported and influenced with his experience
+in designing object models the initial design process of the API.
+
+
Added: cocoon/whiteboard/block-deployer/LICENSE.txt
==============================================================================
--- (empty file)
+++ cocoon/whiteboard/block-deployer/LICENSE.txt Sat Sep 25 02:43:04 2004
@@ -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.
Added: cocoon/whiteboard/block-deployer/build.bat
==============================================================================
--- (empty file)
+++ cocoon/whiteboard/block-deployer/build.bat Sat Sep 25 02:43:04 2004
@@ -0,0 +1,42 @@
+@echo off
+rem Copyright 1999-2004 The Apache Software Foundation
+rem
+rem Licensed under the Apache License, Version 2.0 (the "License");
+rem you may not use this file except in compliance with the License.
+rem You may obtain a copy of the License at
+rem
+rem http://www.apache.org/licenses/LICENSE-2.0
+rem
+rem Unless required by applicable law or agreed to in writing, software
+rem distributed under the License is distributed on an "AS IS" BASIS,
+rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+rem See the License for the specific language governing permissions and
+rem limitations under the License.
+rem
+rem ----------------------------------------------------------------------------
+rem build.bat - Win32 Build Script for Apache Cocoon
+rem ----------------------------------------------------------------------------
+
+rem ----- Ignore system CLASSPATH variable
+set OLD_CLASSPATH=%CLASSPATH%
+set CLASSPATH=
+for %%i in (tools\ant\lib\*.jar) do call tools\ant\bin\appendcp.bat %%i
+
+rem ----- Use Ant shipped with Cocoon Block Deployer. Ignore installed in the system Ant
+set OLD_ANT_HOME=%ANT_HOME%
+set ANT_HOME=tools\ant
+
+set OLD_ANT_OPTS=%ANT_OPTS%
+set ANT_OPTS="-Djava.endorsed.dirs=lib\endorsed"
+
+call %ANT_HOME%\bin\ant -logger org.apache.tools.ant.NoBannerLogger -emacs %1 %2 %3 %4 %5 %6 %7 %8 %9
+
+rem ----- Restore ANT_HOME and ANT_OPTS
+set ANT_HOME=%OLD_ANT_HOME%
+set OLD_ANT_HOME=
+set ANT_OPTS=%OLD_ANT_OPTS%
+set OLD_ANT_OPTS=
+
+rem ----- Restore CLASSPATH
+set CLASSPATH=%OLD_CLASSPATH%
+set OLD_CLASSPATH=
Added: cocoon/whiteboard/block-deployer/build.sh
==============================================================================
--- (empty file)
+++ cocoon/whiteboard/block-deployer/build.sh Sat Sep 25 02:43:04 2004
@@ -0,0 +1,53 @@
+#!/bin/sh
+
+# Copyright 1999-2004 The Apache Software Foundation
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+chmod u+x ./tools/ant/bin/antRun
+chmod u+x ./tools/ant/bin/ant
+
+# ----- Verify and Set Required Environment Variables -------------------------
+
+if [ "$TERM" = "cygwin" ] ; then
+ S=';'
+else
+ S=':'
+fi
+
+# ----- Ignore system CLASSPATH variable
+OLD_CLASSPATH="$CLASSPATH"
+unset CLASSPATH
+CLASSPATH="`echo lib/endorsed/*.jar | tr ' ' $S`"
+export CLASSPATH
+
+# ----- Use Ant shipped with Cocoon. Ignore installed in the system Ant
+OLD_ANT_HOME="$ANT_HOME"
+ANT_HOME=tools/ant
+OLD_ANT_OPTS="$ANT_OPTS"
+ANT_OPTS="-Xms32M -Xmx512M -Djava.endorsed.dirs=lib/endorsed"
+export ANT_HOME ANT_OPTS
+
+"$ANT_HOME/bin/ant" -logger org.apache.tools.ant.NoBannerLogger -emacs $@
+
+# ----- Restore ANT_HOME and ANT_OPTS
+ANT_HOME="$OLD_ANT_HOME"
+ANT_OPTS="$OLD_ANT_OPTS"
+export ANT_HOME ANT_OPTS
+unset OLD_ANT_HOME
+unset OLD_ANT_OPTS
+
+# ----- Restore CLASSPATH
+CLASSPATH="$OLD_CLASSPATH"
+export CLASSPATH
+unset OLD_CLASSPATH
Added: cocoon/whiteboard/block-deployer/build.xml
==============================================================================
--- (empty file)
+++ cocoon/whiteboard/block-deployer/build.xml Sat Sep 25 02:43:04 2004
@@ -0,0 +1,201 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Copyright 1999-2004 The Apache Software Foundation
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<project default="junit" basedir="." name="BlockDeployer">
+
+ <!-- ************************************************************************************************ -->
+ <!-- init: initialize build properties -->
+
+ <target name="init">
+ <property name="project.name" value="CocoonBlockDeployer"/>
+ <property name="project.version" value="0.1dev"/>
+
+ <property name="src.dir" value="./src"/>
+ <property name="src.impl.dir" value="${src.dir}/impl"/>
+ <property name="src.api.dir" value="${src.dir}/api"/>
+ <property name="src.test.junit.dir" value="./test/junit"/>
+
+ <property name="build.dir" value="build"/>
+ <property name="build.classes" value="${build.dir}/classes"/>
+ <property name="build.classes.api" value="${build.classes}/api"/>
+ <property name="build.classes.impl" value="${build.classes}/impl"/>
+ <property name="build.classes.test" value="${build.classes}/test"/>
+ <property name="build.test" value="${src.dir}/test"/>
+ <property name="build.test.output" value="${build.dir}/junit-output"/>
+
+ <property name="tools.lib" value="./tools/lib"/>
+
+ <property name="test.dir" value="./test/junit"/>
+
+ <property name="compiler" value="modern"/>
+ <property name="compiler.debug" value="on"/>
+ <property name="compiler.optimize" value="on"/>
+ <property name="compiler.deprecation" value="off"/>
+ <property name="compiler.nowarn" value="on"/>
+ <property name="source.vm" value="1.3"/>
+ <property name="target.vm" value="1.3"/>
+
+
+
+ </target>
+
+ <!-- ************************************************************************************************ -->
+ <!-- compiling -->
+
+ <path id="classpath-libs">
+ <fileset dir="./lib">
+ <include name="*.jar"/>
+ </fileset>
+ </path>
+
+ <target name="compile" depends="init">
+ <!-- compile the API first to avoid circular dependencies -->
+ <mkdir dir="${build.classes.api}"/>
+ <compiler
+ srcdir="${src.api.dir}"
+ builddestdir="${build.classes.api}"
+ classpath="classpath-libs"
+ />
+
+ <!-- add the recently compiled API to the classpath -->
+ <path id="classpath-api">
+ <path refid="classpath-libs"/>
+ <dirset dir="${build.classes.api}"/>
+ </path>
+
+ <mkdir dir="${build.classes.impl}"/>
+ <compiler
+ srcdir="${src.impl.dir}"
+ builddestdir="${build.classes.impl}"
+ classpath="classpath-api"
+ />
+ </target>
+
+ <macrodef name="compiler">
+ <attribute name="srcdir"/>
+ <attribute name="builddestdir"/>
+ <attribute name="classpath"/>
+ <sequential>
+ <javac srcdir="@{srcdir}"
+ destdir="@{builddestdir}"
+ debug="${compiler.debug}"
+ optimize="${compiler.optimize}"
+ deprecation="${compiler.deprecation}"
+ target="${target.vm}"
+ source="${source.vm}"
+ nowarn="${compiler.nowarn}"
+ compiler="${compiler}"
+ classpathref="@{classpath}"/>
+ </sequential>
+ </macrodef>
+
+ <!-- ************************************************************************************************ -->
+ <!-- packaging: create all JAR files -->
+
+ <target name="package" depends="compile">
+ <jar jarfile="${build.dir}/${project.name}-api-${project.version}.jar" index="true">
+ <fileset dir="${build.classes.api}"/>
+ </jar>
+ <jar jarfile="${build.dir}/${project.name}-impl-${project.version}.jar" index="true">
+ <fileset dir="${build.classes.impl}"/>
+ </jar>
+ </target>
+
+ <!-- ************************************************************************************************ -->
+ <!-- testing: run all tests -->
+ <target name="junit" depends="package">
+ <path id="classpath-test">
+ <path refid="classpath-libs"/>
+ <fileset dir="${build.dir}">
+ <include name="*.jar"/>
+ </fileset>
+ <fileset dir="${tools.lib}">
+ <include name="*.jar"/>
+ </fileset>
+ </path>
+
+ <mkdir dir="${build.classes.test}"/>
+
+ <compiler
+ srcdir="${src.test.junit.dir}"
+ builddestdir="${build.classes.test}"
+ classpath="classpath-test"
+ />
+
+ <mkdir dir="${build.test.output}"/>
+
+ <junit printsummary="yes" fork="yes" haltonfailure="yes">
+ <classpath>
+ <path refid="classpath-test"/>
+ <dirset dir="${build.classes.test}"/>
+ </classpath>
+ <formatter type="plain"/>
+ <batchtest fork="true" todir="${build.test.output}">
+ <fileset dir="${build.classes.test}">
+ <include name="**/*Test.class"/>
+ </fileset>
+ </batchtest>
+ </junit>
+ </target>
+
+ <!-- ************************************************************************************************ -->
+ <!-- dist: create an inofficial distribution to share the project -->
+ <tstamp>
+ <format property="timestamp" pattern="yyyyMMdd-kkmmss"/>
+ </tstamp>
+
+ <target name="dist" depends="init" description="Create a distribution">
+ <create-dist-zip name="${dist.dir}/${project.name}-${project.version}_${timestamp}.zip"/>
+ </target>
+
+ <target name="publish" description="Create and publish a distribution" depends="init">
+ <property name="dist-file" value="${dist.dir}/${project.name}-${project.version}_${timestamp}.zip"/>
+ <create-dist-zip name="${dist-file}"/>
+ <input addproperty="password" message="cvs.apache.org password:"/>
+ <scp file="${dist-file}"
+ todir="reinhard@cvs.apache.org:/x1/home/reinhard/public_html/CocoonBlockDeployer"
+ password="${password}" trust="true"/>
+ </target>
+
+ <macrodef name="create-dist-zip">
+ <attribute name="name"/>
+ <sequential>
+ <mkdir dir="${dist.dir}"/>
+ <zip destfile="@{name}" compress="true">
+ <fileset dir=".">
+ <exclude name=".svn"/>
+ <exclude name=".svn/**"/>
+ <exclude name="${build.dir}/**"/>
+ <exclude name="lib/xmlbeans*"/>
+ </fileset>
+ </zip>
+ </sequential>
+ </macrodef>
+
+ <!-- ************************************************************************************************ -->
+ <!-- doc: create all docs -->
+
+ <!-- ************************************************************************************************ -->
+ <!-- schema2java: tasks to create beans out of schemas -->
+
+
+ <!-- ************************************************************************************************ -->
+ <!-- clean: tidy up -->
+ <target name="clean" depends="init">
+ <delete dir="${build.dir}"/>
+ </target>
+
+</project>
Added: cocoon/whiteboard/block-deployer/forrest.properties
==============================================================================
--- (empty file)
+++ cocoon/whiteboard/block-deployer/forrest.properties Sat Sep 25 02:43:04 2004
@@ -0,0 +1,107 @@
+# Copyright 2002-2004 The Apache Software Foundation
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+##############
+# Properties used by forrest.build.xml for building the website
+# These are the defaults, un-comment them if you need to change them.
+##############
+
+# Prints out a summary of Forrest settings for this project
+#forrest.echo=true
+
+# Project name (used to name .war file)
+#project.name=my-project
+
+# Specifies name of Forrest skin to use
+#project.skin=tigris
+project.skin=pelt
+
+# comma separated list, file:// is supported
+#forrest.skins.descriptors=http://forrest.apache.org/skins/skins.xml,file:///c:/myskins/skins.xml
+
+##############
+# behavioural properties
+#project.menu-scheme=tab_attributes
+#project.menu-scheme=directories
+
+##############
+# layout properties
+
+# Properties that can be set to override the default locations
+#
+# Parent properties must be set. This usually means uncommenting
+# project.content-dir if any other property using it is uncommented
+
+project.status=status.xml
+project.build-dir=${project.home}/build/documentation
+project.site-dir=${project.build-dir}/site
+project.webapp-dir=${project.build-dir}/webapp
+#project.content-dir=src/documentation
+#project.raw-content-dir=${project.content-dir}/content
+#project.conf-dir=${project.content-dir}/conf
+#project.sitemap-dir=${project.content-dir}
+#project.xdocs-dir=${project.content-dir}/content/xdocs
+#project.resources-dir=${project.content-dir}/resources
+#project.stylesheets-dir=${project.resources-dir}/stylesheets
+#project.images-dir=${project.resources-dir}/images
+#project.schema-dir=${project.resources-dir}/schema
+#project.skins-dir=${project.content-dir}/skins
+#project.skinconf=${project.content-dir}/skinconf.xml
+#project.lib-dir=${project.content-dir}/lib
+#project.classes-dir=${project.content-dir}/classes
+#project.translations-dir=${project.content-dir}/translations
+
+##############
+# validation properties
+
+# This set of properties determine if validation is performed
+# Values are inherited unless overridden.
+# e.g. if forrest.validate=false then all others are false unless set to true.
+#forrest.validate=true
+#forrest.validate.xdocs=${forrest.validate}
+#forrest.validate.skinconf=${forrest.validate}
+#forrest.validate.sitemap=${forrest.validate}
+#forrest.validate.stylesheets=${forrest.validate}
+#forrest.validate.skins=${forrest.validate}
+#forrest.validate.skins.stylesheets=${forrest.validate.skins}
+
+# *.failonerror=(true|false) - stop when an XML file is invalid
+#forrest.validate.failonerror=true
+
+# *.excludes=(pattern) - comma-separated list of path patterns to not validate
+# e.g.
+#forrest.validate.xdocs.excludes=samples/subdir/**, samples/faq.xml
+#forrest.validate.xdocs.excludes=
+
+
+##############
+# General Forrest properties
+
+# The URL to start crawling from
+#project.start-uri=linkmap.html
+# Set logging level for messages printed to the console
+# (DEBUG, INFO, WARN, ERROR, FATAL_ERROR)
+#project.debuglevel=ERROR
+# Max memory to allocate to Java
+#forrest.maxmemory=64m
+# Any other arguments to pass to the JVM. For example, to run on an X-less
+# server, set to -Djava.awt.headless=true
+#forrest.jvmargs=
+# The bugtracking URL - the issue number will be appended
+#project.bugtracking-url=http://issues.apache.org/bugzilla/show_bug.cgi?id=
+#project.bugtracking-url=http://issues.apache.org/jira/browse/
+# The issues list as rss
+#project.issues-rss-url=
+#I18n Property only works for the "forrest run" target.
+#project.i18n=true
Added: cocoon/whiteboard/block-deployer/legal/ant.license.txt
==============================================================================
--- (empty file)
+++ cocoon/whiteboard/block-deployer/legal/ant.license.txt Sat Sep 25 02:43:04 2004
@@ -0,0 +1,2 @@
+The ant-*-x.y.jar are from the Apache Ant project
+and are licensed as Apache License 2.0 (See ../LICENSE.txt).
Added: cocoon/whiteboard/block-deployer/legal/asm-1.4.3.jar.license.txt
==============================================================================
--- (empty file)
+++ cocoon/whiteboard/block-deployer/legal/asm-1.4.3.jar.license.txt Sat Sep 25 02:43:04 2004
@@ -0,0 +1,27 @@
+ASM: a very small and fast Java bytecode manipulation framework
+Copyright (c) 2000,2002,2003 INRIA, France Telecom
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions
+are met:
+1. Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+2. Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+3. Neither the name of the copyright holders nor the names of its
+ contributors may be used to endorse or promote products derived from
+ this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+THE POSSIBILITY OF SUCH DAMAGE.
\ No newline at end of file
Added: cocoon/whiteboard/block-deployer/legal/castor-0.9.5.3.jar.txt
==============================================================================
--- (empty file)
+++ cocoon/whiteboard/block-deployer/legal/castor-0.9.5.3.jar.txt Sat Sep 25 02:43:04 2004
@@ -0,0 +1,38 @@
+Copyright 1999-2003 (C) Intalio Inc. All Rights Reserved.
+
+Redistribution and use of this software and associated documentation
+("Software"), with or without modification, are permitted provided
+that the following conditions are met:
+
+1. Redistributions of source code must retain copyright statements
+ and notices. Redistributions must also contain a copy of this
+ document.
+
+2. Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+
+3. The name "ExoLab" must not be used to endorse or promote products
+ derived from this Software without prior written permission of
+ Intalio Inc. For written permission, please contact info@exolab.org.
+
+4. Products derived from this Software may not be called "Castor"
+ nor may "Castor" appear in their names without prior written
+ permission of Intalio Inc. Exolab, Castor and Intalio are
+ trademarks of Intalio Inc.
+
+5. Due credit should be given to the ExoLab Project
+ (http://www.exolab.org/).
+
+THIS SOFTWARE IS PROVIDED BY INTALIO AND CONTRIBUTORS ``AS IS'' AND
+ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
+PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL INTALIO OR ITS
+CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
+USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
+DAMAGE.
Added: cocoon/whiteboard/block-deployer/legal/cglib-2.0.1.jar.license.txt
==============================================================================
--- (empty file)
+++ cocoon/whiteboard/block-deployer/legal/cglib-2.0.1.jar.license.txt Sat Sep 25 02:43:04 2004
@@ -0,0 +1,52 @@
+
+The Apache Software License, Version 1.1
+
+Copyright (c) 2002 The Apache Software Foundation. All rights
+reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions
+are met:
+
+1. Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+
+2. Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in
+ the documentation and/or other materials provided with the
+ distribution.
+
+3. The end-user documentation included with the redistribution,
+ if any, must include the following acknowledgment:
+ "This product includes software developed by the
+ Apache Software Foundation (http://www.apache.org/)."
+ Alternately, this acknowledgment may appear in the software itself,
+ if and wherever such third-party acknowledgments normally appear.
+
+4. The names "Apache" and "Apache Software Foundation" must
+ not be used to endorse or promote products derived from this
+ software without prior written permission. For written
+ permission, please contact apache@apache.org.
+
+5. Products derived from this software may not be called "Apache",
+ nor may "Apache" appear in their name, without prior written
+ permission of the Apache Software Foundation.
+
+THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
+WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
+ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
+USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+SUCH DAMAGE.
+====================================================================
+
+This software consists of voluntary contributions made by many
+individuals on behalf of the Apache Software Foundation. For more
+information on the Apache Software Foundation, please see
+<http://www.apache.org/>.
\ No newline at end of file
Added: cocoon/whiteboard/block-deployer/legal/easymock-1.1.jar.txt
==============================================================================
--- (empty file)
+++ cocoon/whiteboard/block-deployer/legal/easymock-1.1.jar.txt Sat Sep 25 02:43:04 2004
@@ -0,0 +1,19 @@
+EasyMock License (MIT License)
+Copyright (c) 2001-2004 OFFIS
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of
+this software and associated documentation files (the "Software"), to deal in the
+Software without restriction, including without limitation the rights to use, copy,
+modify, merge, publish, distribute, sublicense, and/or sell copies of the Software,
+and to permit persons to whom the Software is furnished to do so, subject to the
+following conditions:
+
+The above copyright notice and this permission notice shall be included in all copies
+or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
+INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
+PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE
+FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
+OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+DEALINGS IN THE SOFTWARE.
Added: cocoon/whiteboard/block-deployer/legal/easymockclassextension-1.1.jar.txt
==============================================================================
--- (empty file)
+++ cocoon/whiteboard/block-deployer/legal/easymockclassextension-1.1.jar.txt Sat Sep 25 02:43:04 2004
@@ -0,0 +1,19 @@
+EasyMock License (MIT License)
+Copyright (c) 2001-2004 OFFIS
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of
+this software and associated documentation files (the "Software"), to deal in the
+Software without restriction, including without limitation the rights to use, copy,
+modify, merge, publish, distribute, sublicense, and/or sell copies of the Software,
+and to permit persons to whom the Software is furnished to do so, subject to the
+following conditions:
+
+The above copyright notice and this permission notice shall be included in all copies
+or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
+INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
+PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE
+FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
+OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+DEALINGS IN THE SOFTWARE.
Added: cocoon/whiteboard/block-deployer/legal/junit-3.8.1.jar.license.txt
==============================================================================
--- (empty file)
+++ cocoon/whiteboard/block-deployer/legal/junit-3.8.1.jar.license.txt Sat Sep 25 02:43:04 2004
@@ -0,0 +1,185 @@
+
+IBM Public License Version 1.0
+THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS IBM PUBLIC
+LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THE
+PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT.
+1. DEFINITIONS
+
+"Contribution" means:
+ a) in the case of International Business Machines Corporation ("IBM"),
+ the Original Program, and
+ b) in the case of each Contributor,
+ i) changes to the Program, and
+ ii) additions to the Program;
+ where such changes and/or additions to the Program originate from and
+ are distributed by that particular Contributor. A Contribution
+ 'originates' from a Contributor if it was added to the Program by such
+ Contributor itself or anyone acting on such Contributor's behalf.
+ Contributions do not include additions to the Program which: (i) are
+ separate modules of software distributed in conjunction with the Program
+ under their own license agreement, and (ii) are not derivative works of
+ the Program.
+"Contributor" means IBM and any other entity that distributes the Program.
+
+"Licensed Patents " mean patent claims licensable by a Contributor which
+are necessarily infringed by the use or sale of its Contribution alone or
+when combined with the Program.
+"Original Program" means the original version of the software accompanying
+this Agreement as released by IBM, including source code, object code and
+documentation, if any.
+"Program" means the Original Program and Contributions.
+"Recipient" means anyone who receives the Program under this Agreement,
+including all Contributors.
+2. GRANT OF RIGHTS
+ a) Subject to the terms of this Agreement, each Contributor hereby
+ grants Recipient a non-exclusive, worldwide, royalty-free copyright
+ license to reproduce, prepare derivative works of, publicly display,
+ publicly perform, distribute and sublicense the Contribution of such
+ Contributor, if any, and such derivative works, in source code and
+ object code form.
+ b) Subject to the terms of this Agreement, each Contributor hereby
+ grants Recipient a non-exclusive, worldwide, royalty-free patent license
+ under Licensed Patents to make, use, sell, offer to sell, import and
+ otherwise transfer the Contribution of such Contributor, if any, in
+ source code and object code form. This patent license shall apply to the
+ combination of the Contribution and the Program if, at the time the
+ Contribution is added by the Contributor, such addition of the
+ Contribution causes such combination to be covered by the Licensed
+ Patents. The patent license shall not apply to any other combinations
+ which include the Contribution. No hardware per se is licensed
+ hereunder.
+ c) Recipient understands that although each Contributor grants the
+ licenses to its Contributions set forth herein, no assurances are
+ provided by any Contributor that the Program does not infringe the
+ patent or other intellectual property rights of any other entity. Each
+ Contributor disclaims any liability to Recipient for claims brought by
+ any other entity based on infringement of intellectual property rights
+ or otherwise. As a condition to exercising the rights and licenses
+ granted hereunder, each Recipient hereby assumes sole responsibility to
+ secure any other intellectual property rights needed, if any. For
+ example, if a third party patent license is required to allow Recipient
+ to distribute the Program, it is Recipient's responsibility to acquire
+ that license before distributing the Program.
+ d) Each Contributor represents that to its knowledge it has sufficient
+ copyright rights in its Contribution, if any, to grant the copyright
+ license set forth in this Agreement.
+3. REQUIREMENTS
+A Contributor may choose to distribute the Program in object code form
+under its own license agreement, provided that:
+ a) it complies with the terms and conditions of this Agreement; and
+ b) its license agreement:
+ i) effectively disclaims on behalf of all Contributors all warranties
+ and conditions, express and implied, including warranties or conditions
+ of title and non-infringement, and implied warranties or conditions of
+ merchantability and fitness for a particular purpose;
+ ii) effectively excludes on behalf of all Contributors all liability for
+ damages, including direct, indirect, special, incidental and
+ consequential damages, such as lost profits;
+ iii) states that any provisions which differ from this Agreement are
+ offered by that Contributor alone and not by any other party; and
+ iv) states that source code for the Program is available from such
+ Contributor, and informs licensees how to obtain it in a reasonable
+ manner on or through a medium customarily used for software exchange.
+When the Program is made available in source code form:
+ a) it must be made available under this Agreement; and
+ b) a copy of this Agreement must be included with each copy of the
+ Program.
+Each Contributor must include the following in a conspicuous location in
+the Program:
+ Copyright � {date here}, International Business Machines Corporation and
+ others. All Rights Reserved.
+In addition, each Contributor must identify itself as the originator of
+its Contribution, if any, in a manner that reasonably allows subsequent
+Recipients to identify the originator of the Contribution.
+4. COMMERCIAL DISTRIBUTION
+Commercial distributors of software may accept certain responsibilities
+with respect to end users, business partners and the like. While this
+license is intended to facilitate the commercial use of the Program, the
+Contributor who includes the Program in a commercial product offering
+should do so in a manner which does not create potential liability for
+other Contributors. Therefore, if a Contributor includes the Program in a
+commercial product offering, such Contributor ("Commercial Contributor")
+hereby agrees to defend and indemnify every other Contributor
+("Indemnified Contributor") against any losses, damages and costs
+(collectively "Losses") arising from claims, lawsuits and other legal
+actions brought by a third party against the Indemnified Contributor to
+the extent caused by the acts or omissions of such Commercial Contributor
+in connection with its distribution of the Program in a commercial product
+offering. The obligations in this section do not apply to any claims or
+Losses relating to any actual or alleged intellectual property
+infringement. In order to qualify, an Indemnified Contributor must: a)
+promptly notify the Commercial Contributor in writing of such claim, and
+b) allow the Commercial Contributor to control, and cooperate with the
+Commercial Contributor in, the defense and any related settlement
+negotiations. The Indemnified Contributor may participate in any such
+claim at its own expense.
+For example, a Contributor might include the Program in a commercial
+product offering, Product X. That Contributor is then a Commercial
+Contributor. If that Commercial Contributor then makes performance claims,
+or offers warranties related to Product X, those performance claims and
+warranties are such Commercial Contributor's responsibility alone. Under
+this section, the Commercial Contributor would have to defend claims
+against the other Contributors related to those performance claims and
+warranties, and if a court requires any other Contributor to pay any
+damages as a result, the Commercial Contributor must pay those damages.
+5. NO WARRANTY
+EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS PROVIDED
+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. Each Recipient is solely responsible for determining
+the appropriateness of using and distributing the Program and assumes all
+risks associated with its exercise of rights under this Agreement,
+including but not limited to the risks and costs of program errors,
+compliance with applicable laws, damage to or loss of data, programs or
+equipment, and unavailability or interruption of operations.
+6. DISCLAIMER OF LIABILITY
+EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR ANY
+CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT,
+INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING
+WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF
+LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION
+OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF
+ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+7. GENERAL
+If any provision of this Agreement is invalid or unenforceable under
+applicable law, it shall not affect the validity or enforceability of the
+remainder of the terms of this Agreement, and without further action by
+the parties hereto, such provision shall be reformed to the minimum extent
+necessary to make such provision valid and enforceable.
+If Recipient institutes patent litigation against a Contributor with
+respect to a patent applicable to software (including a cross-claim or
+counterclaim in a lawsuit), then any patent licenses granted by that
+Contributor to such Recipient under this Agreement shall terminate as of
+the date such litigation is filed. In addition, If Recipient institutes
+patent litigation against any entity (including a cross-claim or
+counterclaim in a lawsuit) alleging that the Program itself (excluding
+combinations of the Program with other software or hardware) infringes
+such Recipient's patent(s), then such Recipient's rights granted under
+Section 2(b) shall terminate as of the date such litigation is filed.
+All Recipient's rights under this Agreement shall terminate if it fails to
+comply with any of the material terms or conditions of this Agreement and
+does not cure such failure in a reasonable period of time after becoming
+aware of such noncompliance. If all Recipient's rights under this
+Agreement terminate, Recipient agrees to cease use and distribution of the
+Program as soon as reasonably practicable. However, Recipient's
+obligations under this Agreement and any licenses granted by Recipient
+relating to the Program shall continue and survive.
+IBM may publish new versions (including revisions) of this Agreement from
+time to time. Each new version of the Agreement will be given a
+distinguishing version number. The Program (including Contributions) may
+always be distributed subject to the version of the Agreement under which
+it was received. In addition, after a new version of the Agreement is
+published, Contributor may elect to distribute the Program (including its
+Contributions) under the new version. No one other than IBM has the right
+to modify this Agreement. Except as expressly stated in Sections 2(a) and
+2(b) above, Recipient receives no rights or licenses to the intellectual
+property of any Contributor under this Agreement, whether expressly, by
+implication, estoppel or otherwise. All rights in the Program not
+expressly granted under this Agreement are reserved.
+This Agreement is governed by the laws of the State of New York and the
+intellectual property laws of the United States of America. No party to
+this Agreement will bring a legal action under this Agreement more than
+one year after the cause of action arose. Each party waives its rights to
+a jury trial in any resulting litigation.
Added: cocoon/whiteboard/block-deployer/lib/castor-0.9.5.3-xml.jar
==============================================================================
Binary file. No diff available.
Added: cocoon/whiteboard/block-deployer/lib/xercesImpl-2.6.2.jar
==============================================================================
Binary file. No diff available.
Added: cocoon/whiteboard/block-deployer/lib/xml-apis.jar
==============================================================================
Binary file. No diff available.
Added: cocoon/whiteboard/block-deployer/mapping/block.xml-mapping.xml
==============================================================================
--- (empty file)
+++ cocoon/whiteboard/block-deployer/mapping/block.xml-mapping.xml Sat Sep 25 02:43:04 2004
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE databases PUBLIC "-//EXOLAB/Castor Mapping DTD Version 1.0//EN"
+ "http://castor.exolab.org/mapping.dtd">
+<mapping>
+ <class name="org.apache.cocoon.blockdeployer.block.RealBlockDescriptor">
+ <map-to xml="block" ns-uri="http://apache.org/cocoon/blocks/cob/1.0"/>
+ <field name="name" type="string" >
+ <bind-xml name="name" node="element" />
+ </field>
+ <field name="blockId" type="string">
+ <bind-xml name="id" node="attribute"/>
+ </field>
+ <field name="properties" type="org.apache.cocoon.blockdeployer.block.BlockPropertyImpl" collection="collection" >
+ <bind-xml name="property" node="element" location="properties"/>
+ </field>
+ </class>
+ <class name="org.apache.cocoon.blockdeployer.block.BlockPropertyImpl">
+ <map-to ns-uri="http://apache.org/cocoon/blocks/cob/1.0"/>
+ <field name="name" type="string">
+ <bind-xml name="name" node="attribute"/>
+ </field>
+ <field name="description" type="string" >
+ <bind-xml name="description" node="element" />
+ </field>
+ <field name="defaultValue" type="string" >
+ <bind-xml name="default" node="element" />
+ </field>
+ </class>
+</mapping>
\ No newline at end of file
Added: cocoon/whiteboard/block-deployer/mapping/sample-block.xml
==============================================================================
--- (empty file)
+++ cocoon/whiteboard/block-deployer/mapping/sample-block.xml Sat Sep 25 02:43:04 2004
@@ -0,0 +1,56 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<block xmlns="http://apache.org/cocoon/blocks/cob/1.0"
+ id="http://mycompany.com/webmail/1.3.43">
+
+ <!-- sample block.xml -->
+
+ <!-- MANDATORY -->
+
+ <name>Super Webmail</name>
+ <description href="http://www.mycompany.com/products/webmail/">This is a super webmail block with amazing functionalities</description>
+ <license href="http://www.mycompany.com/license/1.3">BSD License</license>
+ <author href="http://www.mycompany.com/">MyCompany Inc.</author>
+ <sitemap src="/webmail.xmap"/>
+
+ <!-- OPTIONAL -->
+
+ <requirements>
+ <requires
+ block="http://mycompany.com/skin"
+ name="external-skin"
+ />
+ <requires
+ block="http://mycompany.com/skin/2.0"
+ name="internal-skin"
+ />
+ <requires
+ block="http://anothercompany.com/MailRepository/2.0"
+ name="repository">
+ <uses component="com.anothercompany.repository.Repository"
+ name="repository"
+ />
+ </requires>
+ </requirements>
+
+ <properties>
+ <property name="database.user">
+ <default>saa</default>
+ <description>the database user �</description>
+ <test>test</test>
+ </property>
+
+ <property name="database.user1">
+ <default>sa1</default>
+ <description>the database user</description>
+ <test>test</test>
+ </property>
+
+ </properties>
+
+ <implements block="http://mycompany.com/skin/1.2"/>
+
+ <extends block="http://yetanothercompany.com/skins/fancy/1.2.2"/>
+
+ <provides component="http://anothercompany.repository.Repository"/>
+
+</block>
Added: cocoon/whiteboard/block-deployer/mapping/sample-wiring.xml
==============================================================================
--- (empty file)
+++ cocoon/whiteboard/block-deployer/mapping/sample-wiring.xml Sat Sep 25 02:43:04 2004
@@ -0,0 +1,33 @@
+<blocks xmlns="http://apache.org/cocoon/blocks/wiring/1.0">
+
+ <block id="http://mycompany.com/webmail/1.3.43"
+ location="WEB-INF/blocks/384938958499">
+ <mount>/mail/</mount>
+ <connections>
+ <connection
+ name="external-skin">http://yetanothercompany.com/skins/fancy/1.2.2</connection>
+ <connection
+ name="internal-skin">http://mycompany.com/skins/corporate/34.3.345</connection>
+ <connection
+ name="repository">http://mycompany.com/repositories/email/exchange/3.2.1</connection>
+ </connections>
+ <properties>
+ <property name="user">guest</property>
+ <property name="password">sj3u493</property>
+ </properties>
+ </block>
+
+ <block id="http://mycompany.com/repositories/email/exchange/3.2.1"
+ location="WEB-INF/blocks/394781274834">
+ <properties>
+ <property name="host">mail.blah.org</param>
+ </properties>
+ </block>
+
+ <block id="http://yetanothercompany.com/skins/fancy/1.2.2"
+ location="WEB-INF/blocks/947384127832"/>
+
+ <block id="http://mycompany.com/skins/corporate/34.3.345"
+ location="WEB-INF/blocks/746394782637"/>
+
+</blocks>
\ No newline at end of file
Added: cocoon/whiteboard/block-deployer/src/api/org/apache/cocoon/blockdeployer/block/Block.java
==============================================================================
--- (empty file)
+++ cocoon/whiteboard/block-deployer/src/api/org/apache/cocoon/blockdeployer/block/Block.java Sat Sep 25 02:43:04 2004
@@ -0,0 +1,33 @@
+/*
+ * Copyright 2004 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.cocoon.blockdeployer.block;
+
+import java.io.IOException;
+import java.io.InputStream;
+
+
+/**
+ * The Block object contains a complete block with all files.
+ *
+ * @since 0.1
+ */
+public interface Block {
+
+ public InputStream getInputStream() throws IOException;
+
+ public RemoteBlock getRemoteBlock();
+
+}
\ No newline at end of file
Added: cocoon/whiteboard/block-deployer/src/api/org/apache/cocoon/blockdeployer/block/BlockDescriptor.java
==============================================================================
--- (empty file)
+++ cocoon/whiteboard/block-deployer/src/api/org/apache/cocoon/blockdeployer/block/BlockDescriptor.java Sat Sep 25 02:43:04 2004
@@ -0,0 +1,114 @@
+/*
+ * Copyright 2004 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.cocoon.blockdeployer.block;
+
+import java.util.Iterator;
+
+/**
+ * The BlockDescriptor contains meta information about a Block.
+ *
+ * @since 0.1
+ */
+public interface BlockDescriptor {
+
+ public static final String DEFFAULT_SITEMAP = "sitemap.xmap";
+
+ /**
+ * @return returns the ID of the Block e.g. http://mycompany.com/webmail/1.3.43
+ */
+ public String getBlockId();
+
+ /**
+ * @return returns the version of the COB interface e.g. 1.0 (from http://apache.org/cocoon/blocks/cob/1.0)
+ */
+ public String getInterfaceVersion();
+
+ /**
+ * @return returns the version of this block
+ */
+ public String getVersion();
+
+ /**
+ * @return returns the name of the block
+ */
+ public String getName();
+
+ /**
+ * @return returns the name of the Author
+ */
+ public String getAuthor();
+
+ /**
+ * @return returns the URL with additional information about the author
+ */
+ public String getAuthorUrl();
+
+ /**
+ * @return returns the description of the block
+ */
+ public String getDescription();
+
+ /**
+ * @return returns the URL with additional information about the block
+ */
+ public String getDescriptionUrl();
+
+ /**
+ * @return returns the name of the root sitemap of the block, default value is @link DEFFAULT_SITEMAP
+ */
+ public String getSitemap();
+
+ /**
+ * List all dependencies of this block
+ *
+ * @return returns a flat list of the IDs of all dependend blocks
+ */
+ public Iterator getDependantBlockIDs();
+
+ /**
+ * Get all parameters that could be set during
+ * installation.
+ *
+ * @return Iterator with all parameter names
+ */
+ public Iterator getPropertyNames();
+
+
+ /**
+ * Get a property by its name
+ *
+ * @param name of the property
+ * @return returns a BlockProperty object containing the property information
+ */
+ public BlockProperty getProperty(String name);
+
+
+ /**
+ * @return returns an Iterator of the URIs (String) of blocks that are required by this block
+ */
+ public Iterator getRequiredBlockURIs();
+
+ /**
+ * @return returns the URI of the implemented interface block
+ */
+ public String getImplementedBlockURI();
+
+ /**
+ * @return returns the URI of the block as String that this block extends
+ */
+ public String getExtendedBlockURI();
+
+}
Added: cocoon/whiteboard/block-deployer/src/api/org/apache/cocoon/blockdeployer/block/BlockProperty.java
==============================================================================
--- (empty file)
+++ cocoon/whiteboard/block-deployer/src/api/org/apache/cocoon/blockdeployer/block/BlockProperty.java Sat Sep 25 02:43:04 2004
@@ -0,0 +1,42 @@
+/*
+ * Copyright 2004 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.cocoon.blockdeployer.block;
+
+/**
+ * A BlockProperty is a property that must/can be set at
+ * a block at deployment time. It has a name, a description and
+ * a default value.
+ *
+ * @since 0.1
+ */
+public interface BlockProperty {
+
+ /**
+ * @return returns the name of the property
+ */
+ public String getName();
+
+ /**
+ * @return returns the description of the property
+ */
+ public String getDescription();
+
+ /**
+ * @return returns the default value for the property
+ */
+ public String getDefaultValue();
+
+}
Added: cocoon/whiteboard/block-deployer/src/api/org/apache/cocoon/blockdeployer/block/RemoteBlock.java
==============================================================================
--- (empty file)
+++ cocoon/whiteboard/block-deployer/src/api/org/apache/cocoon/blockdeployer/block/RemoteBlock.java Sat Sep 25 02:43:04 2004
@@ -0,0 +1,47 @@
+/*
+ * Copyright 2004 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.cocoon.blockdeployer.block;
+
+import org.apache.cocoon.blockdeployer.repository.Locator;
+
+
+/**
+ * The RemoteBlock points to a block that can be reached by a locator. This
+ * object gives access to this locator, to its meta information and has a method
+ * to get the complete block.
+ */
+public interface RemoteBlock {
+
+ /**
+ * @return the locator that contains this block
+ */
+ public Locator getLocator();
+
+ /**
+ * This method executes the call that reads the complete block as binary
+ * from the locator.
+ *
+ * @return the Block object that gives access to the binary
+ */
+ public Block getBlock();
+
+
+ /**
+ * @return the meta information to a block
+ */
+ public BlockDescriptor getBlockDescriptor();
+
+}
Added: cocoon/whiteboard/block-deployer/src/api/org/apache/cocoon/blockdeployer/locking/Lock.java
==============================================================================
--- (empty file)
+++ cocoon/whiteboard/block-deployer/src/api/org/apache/cocoon/blockdeployer/locking/Lock.java Sat Sep 25 02:43:04 2004
@@ -0,0 +1,33 @@
+/*
+ * Copyright 2004 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.cocoon.blockdeployer.locking;
+
+import java.util.Date;
+
+/**
+ * @since 0.1
+ */
+public interface Lock {
+
+ public void setTimestamp(Date timestamp);
+
+ public Date getLockTime();
+
+ public void setComment(String comment);
+
+ public String getComment();
+
+}
Added: cocoon/whiteboard/block-deployer/src/api/org/apache/cocoon/blockdeployer/locking/LockingException.java
==============================================================================
--- (empty file)
+++ cocoon/whiteboard/block-deployer/src/api/org/apache/cocoon/blockdeployer/locking/LockingException.java Sat Sep 25 02:43:04 2004
@@ -0,0 +1,23 @@
+/*
+ * Copyright 004 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.cocoon.blockdeployer.locking;
+
+/**
+ * @since 0.1
+ */
+public class LockingException extends Exception {
+
+}
Added: cocoon/whiteboard/block-deployer/src/api/org/apache/cocoon/blockdeployer/repository/Browsable.java
==============================================================================
--- (empty file)
+++ cocoon/whiteboard/block-deployer/src/api/org/apache/cocoon/blockdeployer/repository/Browsable.java Sat Sep 25 02:43:04 2004
@@ -0,0 +1,34 @@
+/*
+ * Copyright 2004 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.cocoon.blockdeployer.repository;
+
+import org.apache.cocoon.blockdeployer.block.RemoteBlock;
+
+/**
+ * Locator inferface
+ *
+ * @since 0.1
+ */
+public interface Browsable {
+
+ /**
+ * Find all available blocks
+ *
+ * @return returns an array of RemoteBlocks.
+ */
+ public RemoteBlock[] browse();
+
+}
\ No newline at end of file
Added: cocoon/whiteboard/block-deployer/src/api/org/apache/cocoon/blockdeployer/repository/Credentials.java
==============================================================================
--- (empty file)
+++ cocoon/whiteboard/block-deployer/src/api/org/apache/cocoon/blockdeployer/repository/Credentials.java Sat Sep 25 02:43:04 2004
@@ -0,0 +1,23 @@
+/*
+ * Copyright 2004 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.cocoon.blockdeployer.repository;
+
+/**
+ * @since 0.1
+ */
+public interface Credentials {
+
+}
Added: cocoon/whiteboard/block-deployer/src/api/org/apache/cocoon/blockdeployer/repository/Deployable.java
==============================================================================
--- (empty file)
+++ cocoon/whiteboard/block-deployer/src/api/org/apache/cocoon/blockdeployer/repository/Deployable.java Sat Sep 25 02:43:04 2004
@@ -0,0 +1,38 @@
+/*
+ * Copyright 2004 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.cocoon.blockdeployer.repository;
+
+import org.apache.cocoon.blockdeployer.block.Block;
+
+/**
+ * This interface marks a locator that is able to deploy a block into
+ * a Cocoon application server.
+ *
+ * @since 0.1
+ */
+public interface Deployable {
+
+ /**
+ * Deploy an array of blocks. The implementation has to make sure
+ * that either all or any block is deployed.
+ *
+ * @param an array of blocks
+ * @return true if deployment was successfull, false if not
+ * @throws @link UnsupportedBlockException
+ */
+ public boolean deploy(Block[] blocks) throws UnsupportedBlockException;
+
+}
Added: cocoon/whiteboard/block-deployer/src/api/org/apache/cocoon/blockdeployer/repository/Locator.java
==============================================================================
--- (empty file)
+++ cocoon/whiteboard/block-deployer/src/api/org/apache/cocoon/blockdeployer/repository/Locator.java Sat Sep 25 02:43:04 2004
@@ -0,0 +1,34 @@
+/*
+ * Copyright 2004 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.cocoon.blockdeployer.repository;
+
+import org.apache.cocoon.blockdeployer.block.RemoteBlock;
+
+
+/**
+ * The locator gives access to a group of blocks available in a certain physical destination.
+ *
+ * @since 0.1
+ */
+public interface Locator extends Browsable, Searchable {
+
+ public static final String COB_INF_BLOCK_XML = "COB-INF/block.xml";
+
+ public RemoteBlock getBlock(String blockId) throws Exception;
+
+ public String getIdentifier();
+
+}
Added: cocoon/whiteboard/block-deployer/src/api/org/apache/cocoon/blockdeployer/repository/Lockable.java
==============================================================================
--- (empty file)
+++ cocoon/whiteboard/block-deployer/src/api/org/apache/cocoon/blockdeployer/repository/Lockable.java Sat Sep 25 02:43:04 2004
@@ -0,0 +1,34 @@
+/*
+ * Copyright 2004 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.cocoon.blockdeployer.repository;
+
+import org.apache.cocoon.blockdeployer.locking.Lock;
+import org.apache.cocoon.blockdeployer.locking.LockingException;
+
+/**
+ * A locator can be locked to indicate that someone is already
+ * using it (e.g. during deployment process).
+ *
+ * @since 0.1
+ */
+public interface Lockable {
+
+ public void setLock(Lock lock) throws LockingException;
+
+ public Lock getLockingStatus() throws LockingException;
+
+ public boolean removeLock() throws LockingException;
+}
Added: cocoon/whiteboard/block-deployer/src/api/org/apache/cocoon/blockdeployer/repository/Repository.java
==============================================================================
--- (empty file)
+++ cocoon/whiteboard/block-deployer/src/api/org/apache/cocoon/blockdeployer/repository/Repository.java Sat Sep 25 02:43:04 2004
@@ -0,0 +1,36 @@
+/*
+ * Copyright 2004 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.cocoon.blockdeployer.repository;
+
+
+
+/**
+ * The <code>Repository</code> represents all available <code>Locator</code> objects
+ * that can be searched for COcoon Blocks. Note, that the order
+ * of the locators is important.
+ *
+ * A repository implementation has to implement Browsable and Searchable so that
+ * you can search/browse within a group of locators.
+ *
+ * @since 0.1
+ */
+public interface Repository extends Browsable, Searchable {
+
+ public void addLocator(Locator locator);
+
+ public void removeLocator(Locator locator);
+
+}
Added: cocoon/whiteboard/block-deployer/src/api/org/apache/cocoon/blockdeployer/repository/Searchable.java
==============================================================================
--- (empty file)
+++ cocoon/whiteboard/block-deployer/src/api/org/apache/cocoon/blockdeployer/repository/Searchable.java Sat Sep 25 02:43:04 2004
@@ -0,0 +1,37 @@
+/*
+ * Copyright 2004 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.cocoon.blockdeployer.repository;
+
+import org.apache.cocoon.blockdeployer.block.RemoteBlock;
+
+
+/**
+ * A repository interface.
+ *
+ * @since 0.1
+ */
+public interface Searchable {
+
+ /**
+ * Search for a block by its ID. A locator can only return a single RemoteBlock,
+ * a repository can return an array with RemoteBlocks available in several locators.
+ * Note that the order is important.
+ *
+ * @return a sorted array of all locators that contain the named block
+ */
+ public RemoteBlock[] lookupBlock(String blockId);
+
+}
\ No newline at end of file
Added: cocoon/whiteboard/block-deployer/src/api/org/apache/cocoon/blockdeployer/repository/UnavailableBlockException.java
==============================================================================
--- (empty file)
+++ cocoon/whiteboard/block-deployer/src/api/org/apache/cocoon/blockdeployer/repository/UnavailableBlockException.java Sat Sep 25 02:43:04 2004
@@ -0,0 +1,31 @@
+/*
+ * Copyright 2004 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.cocoon.blockdeployer.repository;
+
+/**
+ * @since 0.1
+ */
+public class UnavailableBlockException extends Exception {
+
+ public UnavailableBlockException() {
+ super();
+ }
+
+ public UnavailableBlockException(String s) {
+ super(s);
+ }
+
+}
Added: cocoon/whiteboard/block-deployer/src/api/org/apache/cocoon/blockdeployer/repository/UnsupportedBlockException.java
==============================================================================
--- (empty file)
+++ cocoon/whiteboard/block-deployer/src/api/org/apache/cocoon/blockdeployer/repository/UnsupportedBlockException.java Sat Sep 25 02:43:04 2004
@@ -0,0 +1,33 @@
+/*
+ * Copyright 2004 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.cocoon.blockdeployer.repository;
+
+/**
+ * Exception if a block implementation is not supported e.g. by a deployable locator
+ *
+ * @since 0.1
+ */
+public class UnsupportedBlockException extends Exception {
+
+ public UnsupportedBlockException() {
+ super();
+ }
+
+ public UnsupportedBlockException(String message) {
+ super(message);
+ }
+
+}
Added: cocoon/whiteboard/block-deployer/src/api/org/apache/cocoon/blockdeployer/repository/Writeable.java
==============================================================================
--- (empty file)
+++ cocoon/whiteboard/block-deployer/src/api/org/apache/cocoon/blockdeployer/repository/Writeable.java Sat Sep 25 02:43:04 2004
@@ -0,0 +1,29 @@
+/*
+ * Copyright 2004 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.cocoon.blockdeployer.repository;
+
+import org.apache.cocoon.blockdeployer.block.Block;
+
+/**
+ * This interface marks a locator which a block can be added to.
+ *
+ * @since 0.1
+ */
+public interface Writeable {
+
+ public void addBlock(final Block block, final Credentials credentials);
+
+}
Added: cocoon/whiteboard/block-deployer/src/api/org/apache/cocoon/blockdeployer/wiring/Wiring.java
==============================================================================
--- (empty file)
+++ cocoon/whiteboard/block-deployer/src/api/org/apache/cocoon/blockdeployer/wiring/Wiring.java Sat Sep 25 02:43:04 2004
@@ -0,0 +1,23 @@
+/*
+ * Copyright 2004 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.cocoon.blockdeployer.wiring;
+
+/**
+ * @since 0.1
+ */
+public class Wiring {
+
+}
\ No newline at end of file
Added: cocoon/whiteboard/block-deployer/src/documentation/README.txt
==============================================================================
--- (empty file)
+++ cocoon/whiteboard/block-deployer/src/documentation/README.txt Sat Sep 25 02:43:04 2004
@@ -0,0 +1,10 @@
+This is the base documentation directory. It usually contains two files:
+
+skinconf.xml # This file customizes Forrest for your project. In it, you
+ # tell forrest the project name, logo, copyright info, etc
+
+sitemap.xmap # Optional. This sitemap overrides the default one bundled
+ # with Forrest. Typically, one would copy a sitemap from
+ # xml-forrest/src/resources/conf/sitemap.xmap, and customize
+ # it.
+
Added: cocoon/whiteboard/block-deployer/src/documentation/classes/CatalogManager.properties
==============================================================================
--- (empty file)
+++ cocoon/whiteboard/block-deployer/src/documentation/classes/CatalogManager.properties Sat Sep 25 02:43:04 2004
@@ -0,0 +1,37 @@
+# Copyright 2002-2004 The Apache Software Foundation
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+#=======================================================================
+# CatalogManager.properties
+#
+# This is the default properties file for Apache Forrest.
+# This facilitates local configuration of application-specific catalogs.
+#
+# See the Apache Forrest documentation:
+# http://forrest.apache.org/docs/your-project.html
+# http://forrest.apache.org/docs/validation.html
+
+# verbosity ... level of messages for status/debug
+# See forrest/src/core/context/WEB-INF/cocoon.xconf
+
+# catalogs ... list of additional catalogs to load
+# (Note that Apache Forrest will automatically load its own default catalog
+# from src/core/context/resources/schema/catalog.xcat)
+# use full pathnames
+# pathname separator is always semi-colon (;) regardless of operating system
+# directory separator is always slash (/) regardless of operating system
+#
+#catalogs=/home/me/forrest/my-site/src/documentation/resources/schema/catalog.xcat
+catalogs=
+
Added: cocoon/whiteboard/block-deployer/src/documentation/content/hello.pdf
==============================================================================
--- (empty file)
+++ cocoon/whiteboard/block-deployer/src/documentation/content/hello.pdf Sat Sep 25 02:43:04 2004
@@ -0,0 +1,70 @@
+%PDF-1.3
+%����
+4 0 obj
+<< /Type /Info
+/Producer (FOP 0.20.4) >>
+endobj
+5 0 obj
+<< /Length 203 /Filter [ /ASCII85Decode /FlateDecode ]
+ >>
+stream
+Gar'!]afWZ&;9q-MRA)RFnblL2&]tQSZsjOOT[ck2SQkp(bfQ[R7ZPq=U24c0dqq_i?B[A.0s\)5f5<IA'lb0eeo`C+`q\Ip/Tke*)7%T+.hT8:QQidXoPLKZM,RXY"bP+;E@%,ZX;V'Aq+M9rH"!g=N5TToDMoqMeUiEe).I_W3q80:jF+;'9bVIeBRb]DhE9:E2be2~>
+endstream
+endobj
+6 0 obj
+<< /Type /Page
+/Parent 1 0 R
+/MediaBox [ 0 0 595 842 ]
+/Resources 3 0 R
+/Contents 5 0 R
+>>
+endobj
+7 0 obj
+<< /Type /Font
+/Subtype /Type1
+/Name /F1
+/BaseFont /Helvetica
+/Encoding /WinAnsiEncoding >>
+endobj
+8 0 obj
+<< /Type /Font
+/Subtype /Type1
+/Name /F5
+/BaseFont /Times-Roman
+/Encoding /WinAnsiEncoding >>
+endobj
+1 0 obj
+<< /Type /Pages
+/Count 1
+/Kids [6 0 R ] >>
+endobj
+2 0 obj
+<< /Type /Catalog
+/Pages 1 0 R
+ >>
+endobj
+3 0 obj
+<<
+/Font << /F1 7 0 R /F5 8 0 R >>
+/ProcSet [ /PDF /ImageC /Text ] >>
+endobj
+xref
+0 9
+0000000000 65535 f
+0000000687 00000 n
+0000000745 00000 n
+0000000795 00000 n
+0000000015 00000 n
+0000000071 00000 n
+0000000365 00000 n
+0000000471 00000 n
+0000000578 00000 n
+trailer
+<<
+/Size 9
+/Root 2 0 R
+/Info 4 0 R
+>>
+startxref
+883
+%%EOF
Added: cocoon/whiteboard/block-deployer/src/documentation/content/test1.html
==============================================================================
--- (empty file)
+++ cocoon/whiteboard/block-deployer/src/documentation/content/test1.html Sat Sep 25 02:43:04 2004
@@ -0,0 +1,36 @@
+<!--
+ Copyright 2002-2004 The Apache Software Foundation
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<html>
+ <head>
+ <title>Raw un-processed HTML page (test1)</title>
+ </head>
+ <body>
+ <h1>raw un-processed HTML page (test1)</h1>
+ <p>
+ This raw HTML page is linked to from xdocs/samples/static.xml
+ and from xdocs/samples/linking.xml
+ </p>
+ <p>All linked-to pages (for example:
+ <a href="test2.html"><a href="test2.html"></a>) are
+ also available.
+ </p>
+ <hr />
+ <p>
+ [return to <a href="index.html">Index</a>]<br>
+ [return to <a href="samples/linking.html">Linking demonstration</a>]
+ </p>
+ </body>
+</html>
Added: cocoon/whiteboard/block-deployer/src/documentation/content/test2.html
==============================================================================
--- (empty file)
+++ cocoon/whiteboard/block-deployer/src/documentation/content/test2.html Sat Sep 25 02:43:04 2004
@@ -0,0 +1,29 @@
+<!--
+ Copyright 2002-2004 The Apache Software Foundation
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<html>
+ <head>
+ <title>Raw un-processed HTML page (test2)</title>
+ </head>
+ <body>
+ <h1>Raw un-processed HTML page (test2)</h1>
+ <p>
+ This raw HTML document was linked to from another raw html document.
+ <hr />
+ [return to <a href="index.html">Index</a>]
+ [return to the linkee <a href="test1.html">test1.html</a>]
+ </p>
+ </body>
+</html>
Added: cocoon/whiteboard/block-deployer/src/documentation/content/xdocs/devdocs/goals.xml
==============================================================================
--- (empty file)
+++ cocoon/whiteboard/block-deployer/src/documentation/content/xdocs/devdocs/goals.xml Sat Sep 25 02:43:04 2004
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Copyright 2002-2004 The Apache Software Foundation
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V2.0//EN" "http://forrest.apache.org/dtd/document-v20.dtd">
+<document>
+ <header>
+ <title>Design goals</title>
+ </header>
+ <body>
+ <section>
+ <title>Cocoon Blocks</title>
+ <p>add information about Cocoon Blocks that can be found at http://wiki.apache.org/cocoon/Blocks</p>
+ </section>
+ </body>
+</document>
Added: cocoon/whiteboard/block-deployer/src/documentation/content/xdocs/devdocs/overview.xml
==============================================================================
--- (empty file)
+++ cocoon/whiteboard/block-deployer/src/documentation/content/xdocs/devdocs/overview.xml Sat Sep 25 02:43:04 2004
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Copyright 2002-2004 The Apache Software Foundation
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V2.0//EN" "http://forrest.apache.org/dtd/document-v20.dtd">
+<document>
+ <header>
+ <title>Overview</title>
+ </header>
+ <body>
+ <section>
+ <title>Directory structure</title>
+ <p></p>
+ </section>
+ <section>
+ <title>Package structure</title>
+ <p></p>
+ </section>
+ </body>
+</document>
Added: cocoon/whiteboard/block-deployer/src/documentation/content/xdocs/devdocs/unit-testing.xml
==============================================================================
--- (empty file)
+++ cocoon/whiteboard/block-deployer/src/documentation/content/xdocs/devdocs/unit-testing.xml Sat Sep 25 02:43:04 2004
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Copyright 2002-2004 The Apache Software Foundation
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V2.0//EN" "http://forrest.apache.org/dtd/document-v20.dtd">
+<document>
+ <header>
+ <title>Unit Testing</title>
+ </header>
+ <body>
+ <section>
+ <title>Overview</title>
+ <p></p>
+ </section>
+ <section>
+ <title>Using Ant to run JUnit tests</title>
+ <p></p>
+ </section>
+ <section>
+ <title>Using Eclipse to run JUnit tests</title>
+ <p></p>
+ </section>
+ </body>
+</document>
Added: cocoon/whiteboard/block-deployer/src/documentation/content/xdocs/images/group-logo.gif
==============================================================================
Binary file. No diff available.
Added: cocoon/whiteboard/block-deployer/src/documentation/content/xdocs/images/group.svg
==============================================================================
--- (empty file)
+++ cocoon/whiteboard/block-deployer/src/documentation/content/xdocs/images/group.svg Sat Sep 25 02:43:04 2004
@@ -0,0 +1,81 @@
+<?xml version="1.0" standalone="no"?>
+<!--
+ Copyright 2002-2004 The Apache Software Foundation
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+
+<!--
+ SVG Anteater logo
+
+To get started with SVG, I'd recommend getting the Adobe SVG plugin, and the
+xml-batik CVS module. Then have a look at the xml-batik/samples files. Use the
+SVG spec (http://www.w3.org/TR/SVG/) as a reference.
+-->
+
+<!-- See Forrest Issue: FOR-229
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN"
+"http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd"
+[
+ <!ATTLIST svg xmlns:for CDATA #FIXED "http://apache.org/forrest">
+ <!ENTITY % textExt "|for:group-name">
+ <!ELEMENT for:group-name (#PCDATA)>
+]>
+-->
+<svg xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ xsl:version="1.0"
+ xmlns:for="http://apache.org/forrest"
+ width="220" height="65" >
+ <title>Anteater logo</title>
+
+ <defs>
+
+ <!--
+ <radialGradient id="radialGradient">
+ <stop style="stop-color:gold" offset="0"/>
+ <stop style="stop-color:orange" offset=".5"/>
+ <stop style="stop-color:crimson" offset="1"/>
+ </radialGradient>
+ <linearGradient id="linearGradient">
+ <stop style="stop-color:gold" offset="0"/>
+ <stop style="stop-color:orange" offset=".5"/>
+ <stop style="stop-color:crimson" offset="1"/>
+ </linearGradient>
+ -->
+
+ <linearGradient id="gradient" x1="0" y1="0" x2="0" y2="1">
+ <stop style="stop-color:white" offset="0"/>
+ <stop style="stop-color:lightgreen" offset="1"/>
+ </linearGradient>
+
+ <filter id="shadowFilter" filterUnits="objectBoundingBox">
+ <!-- Takes the alpha channel (black outline of the text), blurs it and saves as 'blur' -->
+ <feGaussianBlur in="SourceAlpha" stdDeviation="2 2" result="blur"/>
+ <!-- Takes saved 'blur' and offsets it by 4 pixels, saves as 'offsetBlur' -->
+ <feOffset in="blur" dx="4" dy="4" result="offsetBlur"/>
+ <!-- Merges SourceGraphic (original image) and 'offsetBlur', putting the
+ former 'over' the latter, and using the merged result as the finished
+ image -->
+ <feComposite in="SourceGraphic" in2="offsetBlur" operator="over"/>
+ </filter>
+
+ </defs>
+
+ <g filter="url(#shadowFilter)" fill="url(#gradient)">
+ <text x="40%" y="60%" style="font-size:24pt; font-family:Verdana ; text-anchor: middle">
+ <for:group-name />
+ </text>
+ </g>
+</svg>
Added: cocoon/whiteboard/block-deployer/src/documentation/content/xdocs/images/icon.png
==============================================================================
Binary file. No diff available.
Added: cocoon/whiteboard/block-deployer/src/documentation/content/xdocs/images/project-logo.gif
==============================================================================
Binary file. No diff available.
Added: cocoon/whiteboard/block-deployer/src/documentation/content/xdocs/images/project.svg
==============================================================================
--- (empty file)
+++ cocoon/whiteboard/block-deployer/src/documentation/content/xdocs/images/project.svg Sat Sep 25 02:43:04 2004
@@ -0,0 +1,81 @@
+<?xml version="1.0" standalone="no"?>
+<!--
+ Copyright 2002-2004 The Apache Software Foundation
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+
+<!--
+ SVG Anteater logo
+
+To get started with SVG, I'd recommend getting the Adobe SVG plugin, and the
+xml-batik CVS module. Then have a look at the xml-batik/samples files. Use the
+SVG spec (http://www.w3.org/TR/SVG/) as a reference.
+-->
+
+<!-- See Forrest Issue: FOR-229
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN"
+"http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd"
+[
+ <!ATTLIST svg xmlns:for CDATA #FIXED "http://apache.org/forrest">
+ <!ENTITY % textExt "|for:project-name">
+ <!ELEMENT for:project-name (#PCDATA)>
+]>
+-->
+<svg xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ xsl:version="1.0"
+ xmlns:for="http://apache.org/forrest"
+ width="220" height="65" >
+ <title>Anteater logo</title>
+
+ <defs>
+
+ <!--
+ <radialGradient id="radialGradient">
+ <stop style="stop-color:gold" offset="0"/>
+ <stop style="stop-color:orange" offset=".5"/>
+ <stop style="stop-color:crimson" offset="1"/>
+ </radialGradient>
+ <linearGradient id="linearGradient">
+ <stop style="stop-color:gold" offset="0"/>
+ <stop style="stop-color:orange" offset=".5"/>
+ <stop style="stop-color:crimson" offset="1"/>
+ </linearGradient>
+ -->
+
+ <linearGradient id="gradient" x1="0" y1="0" x2="0" y2="1">
+ <stop style="stop-color:white" offset="0"/>
+ <stop style="stop-color:lightgreen" offset="1"/>
+ </linearGradient>
+
+ <filter id="shadowFilter" filterUnits="objectBoundingBox">
+ <!-- Takes the alpha channel (black outline of the text), blurs it and saves as 'blur' -->
+ <feGaussianBlur in="SourceAlpha" stdDeviation="2 2" result="blur"/>
+ <!-- Takes saved 'blur' and offsets it by 4 pixels, saves as 'offsetBlur' -->
+ <feOffset in="blur" dx="4" dy="4" result="offsetBlur"/>
+ <!-- Merges SourceGraphic (original image) and 'offsetBlur', putting the
+ former 'over' the latter, and using the merged result as the finished
+ image -->
+ <feComposite in="SourceGraphic" in2="offsetBlur" operator="over"/>
+ </filter>
+
+ </defs>
+
+ <g filter="url(#shadowFilter)" fill="url(#gradient)">
+ <text x="51%" y="75%" style="font-size:32pt; font-family:Verdana ; text-anchor: middle" >
+ <for:project-name />
+ </text>
+ </g>
+</svg>
Added: cocoon/whiteboard/block-deployer/src/documentation/content/xdocs/index.xml
==============================================================================
--- (empty file)
+++ cocoon/whiteboard/block-deployer/src/documentation/content/xdocs/index.xml Sat Sep 25 02:43:04 2004
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Copyright 2002-2004 The Apache Software Foundation
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V2.0//EN"
+"http://forrest.apache.org/dtd/document-v20.dtd">
+<document>
+ <header>
+ <title>Welcome to Cocoon Block Deployer</title>
+ </header>
+
+ <body>
+ <section>
+ <title>Congratulations</title>
+
+ <p>You have successfully generated and rendered an <a
+ href="ext:forrest">Apache Forrest</a> site. This page is from the site
+ template. It is found in
+ <code>my-site/src/documentation/content/xdocs/index.xml</code> Please
+ edit it and replace this text with content of your own.</p>
+ </section>
+ </body>
+</document>
\ No newline at end of file
Added: cocoon/whiteboard/block-deployer/src/documentation/content/xdocs/introduction.xml
==============================================================================
--- (empty file)
+++ cocoon/whiteboard/block-deployer/src/documentation/content/xdocs/introduction.xml Sat Sep 25 02:43:04 2004
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Copyright 2002-2004 The Apache Software Foundation
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V2.0//EN" "http://forrest.apache.org/dtd/document-v20.dtd">
+<document>
+ <header>
+ <title>Welcome to Cocoon Block Deployer</title>
+ </header>
+ <body>
+ <section>
+ <title>Congratulations</title>
+ <p>You have successfully generated and rendered an <a
+ href="ext:forrest">Apache Forrest</a> site.
+ This page is from the site template. It is found in
+ <code>my-site/src/documentation/content/xdocs/index.xml</code>
+ Please edit it and replace this text with content of your own.</p>
+ </section>
+ </body>
+</document>
Added: cocoon/whiteboard/block-deployer/src/documentation/content/xdocs/license.xml
==============================================================================
--- (empty file)
+++ cocoon/whiteboard/block-deployer/src/documentation/content/xdocs/license.xml Sat Sep 25 02:43:04 2004
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Copyright 2002-2004 The Apache Software Foundation
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V2.0//EN" "http://forrest.apache.org/dtd/document-v20.dtd">
+<document>
+ <header>
+ <title>Welcome to Cocoon Block Deployer</title>
+ </header>
+ <body>
+ <section>
+ <title>Congratulations</title>
+ <p>You have successfully generated and rendered an <a
+ href="ext:forrest">Apache Forrest</a> site.
+ This page is from the site template. It is found in
+ <code>my-site/src/documentation/content/xdocs/index.xml</code>
+ Please edit it and replace this text with content of your own.</p>
+ </section>
+ </body>
+</document>
Added: cocoon/whiteboard/block-deployer/src/documentation/content/xdocs/site.xml
==============================================================================
--- (empty file)
+++ cocoon/whiteboard/block-deployer/src/documentation/content/xdocs/site.xml Sat Sep 25 02:43:04 2004
@@ -0,0 +1,52 @@
+<?xml version="1.0"?>
+<!--
+ Copyright 2002-2004 The Apache Software Foundation
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+
+<site label="MyProj" href="" xmlns="http://apache.org/forrest/linkmap/1.0" tab="">
+
+ <about label="About">
+ <index label="Index" href="index.html" description="Welcome to MyProj"/>
+ <changes label="Changes" href="changes.html" description="History of Changes" />
+ <todo label="Todo" href="todo.html" description="Todo List" />
+ <license label="License" href="license.html" description="License information"/>
+ </about>
+
+ <userdocs label="User Documentation" href="userdocs/" tab="userdocs">
+ <intro label="Introduction" href="introduction.html"
+ description="Introduction to documentation targeted at users"/>
+ </userdocs >
+
+ <devdocs label="Developer Documentation" href="devdocs/" tab="devdocs">
+ <overview label="Overview" href="overview.html"
+ description="Overview of the project"/>
+ <!--goals label="Design goals" href="goals.html"
+ description="Goals of the project"/-->
+ <unittesting label="Unit Testing" href="unit-testing.html"
+ description="About Unit Testing"/>
+ </devdocs >
+
+ <!--all label="All">
+ <whole_site_html label="Whole Site HTML" href="wholesite.html"/>
+ <whole_site_pdf label="Whole Site PDF" href="wholesite.pdf"/>
+ </all-->
+
+ <external-refs>
+ <forrest href="http://forrest.apache.org/"/>
+ <cocoon href="http://cocoon.apache.org/"/>
+ <xml.apache.org href="http://xml.apache.org/"/>
+ </external-refs>
+
+</site>
Added: cocoon/whiteboard/block-deployer/src/documentation/content/xdocs/tabs.xml
==============================================================================
--- (empty file)
+++ cocoon/whiteboard/block-deployer/src/documentation/content/xdocs/tabs.xml Sat Sep 25 02:43:04 2004
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Copyright 2002-2004 The Apache Software Foundation
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<!DOCTYPE tabs PUBLIC "-//APACHE//DTD Cocoon Documentation Tab V1.1//EN" "http://forrest.apache.org/dtd/tab-cocoon-v11.dtd">
+
+<tabs software="MyProj"
+ title="MyProj"
+ copyright="Foo"
+ xmlns:xlink="http://www.w3.org/1999/xlink">
+
+ <!-- The rules for tabs are:
+ @dir will always have '/@indexfile' added.
+ @indexfile gets appended to @dir if the tab is selected. Defaults to 'index.html'
+ @href is not modified unless it is root-relative and obviously specifies a
+ directory (ends in '/'), in which case /index.html will be added
+ If @id's are present, site.xml entries with a matching @tab will be in that tab.
+
+ Tabs can be embedded to a depth of two. The second level of tabs will only
+ be displayed when their parent tab is selected.
+ -->
+
+ <tab id="" label="Home" dir="" indexfile="index.html"/>
+ <tab id="userdocs" label="User documentation" dir="userdocs" indexfile="introduction.html"/>
+ <tab id="devdocs" label="Developer documentation" dir="devdocs" indexfile="overview.html"/>
+ <tab label="Apache Cocoon" href="http://cocoon.apache.org"/>
+
+</tabs>
Added: cocoon/whiteboard/block-deployer/src/documentation/content/xdocs/userdocs/introduction.xml
==============================================================================
--- (empty file)
+++ cocoon/whiteboard/block-deployer/src/documentation/content/xdocs/userdocs/introduction.xml Sat Sep 25 02:43:04 2004
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Copyright 2002-2004 The Apache Software Foundation
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V2.0//EN" "http://forrest.apache.org/dtd/document-v20.dtd">
+<document>
+ <header>
+ <title>Introduction</title>
+ </header>
+ <body>
+ <section>
+ <title>TBD</title>
+ <p></p>
+ </section>
+ </body>
+</document>
Added: cocoon/whiteboard/block-deployer/src/documentation/images/cocoon-project-logo.png
==============================================================================
Binary file. No diff available.
Added: cocoon/whiteboard/block-deployer/src/documentation/skinconf.xml
==============================================================================
--- (empty file)
+++ cocoon/whiteboard/block-deployer/src/documentation/skinconf.xml Sat Sep 25 02:43:04 2004
@@ -0,0 +1,342 @@
+<?xml version="1.0"?>
+<!--
+ Copyright 2002-2004 The Apache Software Foundation
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+
+<!--
+Skin configuration file. This file contains details of your project,
+which will be used to configure the chosen Forrest skin.
+-->
+
+<!-- See issue FOR-255
+ The parser is not getting the local copy of the DTD and is going to
+ the network. The workaround is to comment-out the document type declaration
+ and add the line "forrest.validate.skinconf=false" to forrest.properties
+-->
+<!DOCTYPE skinconfig PUBLIC "-//APACHE//DTD Skin Configuration V0.6-3//EN" "http://forrest.apache.org/dtd/skinconfig-v06-3.dtd">
+<skinconfig>
+ <!-- To enable lucene search add provider="lucene"
+ Add box-location="alt" to move the search box to an alternate location
+ (if the skin supports it) and box-location="all" to show it in all
+ available locations on the page. Remove the <search> element to show
+ no search box. @domain will enable sitesearch for the specific domain with google.
+ In other words google will search the @domain for the query string.
+ -->
+ <search name="Cocoon Block Deployer" domain=""/>
+
+ <!-- Disable the print link? If enabled, invalid HTML 4.0.1 -->
+ <disable-print-link>true</disable-print-link>
+ <!-- Disable the PDF link? -->
+ <disable-pdf-link>false</disable-pdf-link>
+ <!-- Disable the POD link? -->
+ <disable-pod-link>true</disable-pod-link>
+ <!-- Disable the Text link? FIXME: NOT YET IMPLEMENETED. -->
+ <disable-txt-link>true</disable-txt-link>
+ <!-- Disable the xml source link? -->
+ <!-- The xml source link makes it possible to access the xml rendition
+ of the source frim the html page, and to have it generated statically.
+ This can be used to enable other sites and services to reuse the
+ xml format for their uses. Keep this disabled if you don't want other
+ sites to easily reuse your pages.-->
+ <disable-xml-link>true</disable-xml-link>
+
+ <!-- Disable navigation icons on all external links? -->
+ <disable-external-link-image>false</disable-external-link-image>
+
+ <!-- Disable w3c compliance links?
+ Use e.g. align="center" to move the compliance links logos to
+ an alternate location default is left.
+ (if the skin supports it) -->
+ <disable-compliance-links>false</disable-compliance-links>
+
+ <!-- Render mailto: links unrecognisable by spam harvesters? -->
+ <obfuscate-mail-links>true</obfuscate-mail-links>
+ <obfuscate-mail-value>.at.</obfuscate-mail-value>
+
+ <!-- Disable the javascript facility to change the font size -->
+ <disable-font-script>true</disable-font-script>
+
+ <!-- mandatory project logo
+ default skin: renders it at the top -->
+ <project-name>CBD</project-name>
+ <project-description>Collection of tools that help to deploy Cocoon Blocks</project-description>
+ <project-url>http://cocoon.apache.org/block-deployer</project-url>
+ <project-logo>images/project.png</project-logo>
+ <!-- Alternative static image:
+ <project-logo>images/project-logo.gif</project-logo> -->
+
+ <!-- optional group logo
+ default skin: renders it at the top-left corner -->
+ <group-name>Cocoon</group-name>
+ <group-url>http://cocoon.apache.org/</group-url>
+ <group-logo>images/group.png</group-logo>
+ <!--group-logo>images/cocoon-project-logo.png</group-logo-->
+
+ <!-- optional host logo (e.g. sourceforge logo)
+ default skin: renders it at the bottom-left corner -->
+ <host-url></host-url>
+ <host-logo></host-logo>
+
+ <!-- relative url of a favicon file, normally favicon.ico -->
+ <favicon-url></favicon-url>
+
+ <!-- The following are used to construct a copyright statement -->
+ <year>1999-2004</year>
+ <vendor>The Apache Software Foundation.</vendor>
+ <!-- The optional copyright-link URL will be used as a link in the
+ copyright statement -->
+ <copyright-link>http://www.apache.org/licenses/</copyright-link>
+
+
+ <!-- Some skins use this to form a 'breadcrumb trail' of links.
+ Use location="alt" to move the trail to an alternate location
+ (if the skin supports it).
+ Omit the location attribute to display the trail in the default location.
+ Use location="none" to not display the trail (if the skin supports it).
+ For some skins just set the attributes to blank.
+ -->
+ <trail>
+ <link1 name="Apache Group" href="http://www.apache.org/"/>
+ <link2 name="Apache Cocoon" href="http://cocoon.apache.org/"/>
+ <link3 name="Cocoon Block Deployer" href=""/>
+ </trail>
+
+ <!-- Configure the TOC, i.e. the Table of Contents.
+ @max-depth
+ how many "section" levels need to be included in the
+ generated Table of Contents (TOC).
+ @min-sections
+ Minimum required to create a TOC.
+ @location ("page","menu","page,menu", "none")
+ Where to show the TOC.
+ -->
+ <toc max-depth="2" min-sections="1" location="page"/>
+
+ <!-- Heading types can be clean|underlined|boxed -->
+ <headings type="boxed"/>
+
+ <!-- The optional feedback element will be used to construct a
+ feedback link in the footer with the page pathname appended:
+ <a href="@href">{@to}</a>
+ -->
+ <feedback to="dev@cocoon.apache.org"
+ href="mailto:dev@cocoon.apache.org?subject=Feedback  (Cocoon Block Deployer website)" >
+ Send feedback about the website to:
+ </feedback>
+ <!--
+ extra-css - here you can define custom css-elements that are
+ a. overriding the fallback elements or
+ b. adding the css definition from new elements that you may have
+ used in your documentation.
+ -->
+ <extra-css>
+ <!--Example of b.
+ To define the css definition of a new element that you may have used
+ in the class attribute of a <p> node.
+ e.g. <p class="quote"/>
+ -->
+ p.quote {
+ margin-left: 2em;
+ padding: .5em;
+ background-color: #f0f0f0;
+ font-family: monospace;
+ }
+ </extra-css>
+
+ <colors>
+ <!-- These values are used for the generated CSS files. -->
+
+ <!-- Krysalis -->
+<!--
+ <color name="header" value="#FFFFFF"/>
+
+ <color name="tab-selected" value="#a5b6c6" link="#000000" vlink="#000000" hlink="#000000"/>
+ <color name="tab-unselected" value="#F7F7F7" link="#000000" vlink="#000000" hlink="#000000"/>
+ <color name="subtab-selected" value="#a5b6c6" link="#000000" vlink="#000000" hlink="#000000"/>
+ <color name="subtab-unselected" value="#a5b6c6" link="#000000" vlink="#000000" hlink="#000000"/>
+
+ <color name="heading" value="#a5b6c6"/>
+ <color name="subheading" value="#CFDCED"/>
+
+ <color name="navstrip" value="#CFDCED" font="#000000" link="#000000" vlink="#000000" hlink="#000000"/>
+ <color name="toolbox" value="#a5b6c6"/>
+ <color name="border" value="#a5b6c6"/>
+
+ <color name="menu" value="#F7F7F7" link="#000000" vlink="#000000" hlink="#000000"/>
+ <color name="dialog" value="#F7F7F7"/>
+
+ <color name="body" value="#ffffff" link="#0F3660" vlink="#009999" hlink="#000066"/>
+
+ <color name="table" value="#a5b6c6"/>
+ <color name="table-cell" value="#ffffff"/>
+ <color name="highlight" value="#ffff00"/>
+ <color name="fixme" value="#cc6600"/>
+ <color name="note" value="#006699"/>
+ <color name="warning" value="#990000"/>
+ <color name="code" value="#a5b6c6"/>
+
+ <color name="footer" value="#a5b6c6"/>
+-->
+
+ <!-- Forrest -->
+<!--
+ <color name="header" value="#294563"/>
+
+ <color name="tab-selected" value="#4a6d8c" link="#0F3660" vlink="#0F3660" hlink="#000066"/>
+ <color name="tab-unselected" value="#b5c7e7" link="#0F3660" vlink="#0F3660" hlink="#000066"/>
+ <color name="subtab-selected" value="#4a6d8c" link="#0F3660" vlink="#0F3660" hlink="#000066"/>
+ <color name="subtab-unselected" value="#4a6d8c" link="#0F3660" vlink="#0F3660" hlink="#000066"/>
+
+ <color name="heading" value="#294563"/>
+ <color name="subheading" value="#4a6d8c"/>
+
+ <color name="navstrip" value="#cedfef" font="#0F3660" link="#0F3660" vlink="#0F3660" hlink="#000066"/>
+ <color name="toolbox" value="#4a6d8c"/>
+ <color name="border" value="#294563"/>
+
+ <color name="menu" value="#4a6d8c" font="#cedfef" link="#ffffff" vlink="#ffffff" hlink="#ffcf00"/>
+ <color name="dialog" value="#4a6d8c"/>
+
+ <color name="body" value="#ffffff" link="#0F3660" vlink="#009999" hlink="#000066"/>
+
+ <color name="table" value="#7099C5"/>
+ <color name="table-cell" value="#f0f0ff"/>
+ <color name="highlight" value="#ffff00"/>
+ <color name="fixme" value="#cc6600"/>
+ <color name="note" value="#006699"/>
+ <color name="warning" value="#990000"/>
+ <color name="code" value="#CFDCED"/>
+
+ <color name="footer" value="#cedfef"/>
+-->
+
+ <!-- Collabnet -->
+<!--
+ <color name="header" value="#003366"/>
+
+ <color name="tab-selected" value="#dddddd" link="#555555" vlink="#555555" hlink="#555555"/>
+ <color name="tab-unselected" value="#999999" link="#ffffff" vlink="#ffffff" hlink="#ffffff"/>
+ <color name="subtab-selected" value="#cccccc" link="#000000" vlink="#000000" hlink="#000000"/>
+ <color name="subtab-unselected" value="#cccccc" link="#555555" vlink="#555555" hlink="#555555"/>
+
+ <color name="heading" value="#003366"/>
+ <color name="subheading" value="#888888"/>
+
+ <color name="navstrip" value="#dddddd" font="#555555"/>
+ <color name="toolbox" value="#dddddd" font="#555555"/>
+ <color name="border" value="#999999"/>
+
+ <color name="menu" value="#ffffff"/>
+ <color name="dialog" value="#eeeeee"/>
+
+ <color name="body" value="#ffffff"/>
+
+ <color name="table" value="#ccc"/>
+ <color name="table-cell" value="#ffffff"/>
+ <color name="highlight" value="#ffff00"/>
+ <color name="fixme" value="#cc6600"/>
+ <color name="note" value="#006699"/>
+ <color name="warning" value="#990000"/>
+ <color name="code" value="#003366"/>
+
+ <color name="footer" value="#ffffff"/>
+-->
+ <!-- Lenya using pelt-->
+<!--
+ <color name="header" value="#ffffff"/>
+
+ <color name="tab-selected" value="#4C6C8F" link="#ffffff" vlink="#ffffff" hlink="#ffffff"/>
+ <color name="tab-unselected" value="#E5E4D9" link="#000000" vlink="#000000" hlink="#000000"/>
+ <color name="subtab-selected" value="#000000" link="#000000" vlink="#000000" hlink="#000000"/>
+ <color name="subtab-unselected" value="#E5E4D9" link="#000000" vlink="#000000" hlink="#000000"/>
+
+ <color name="heading" value="#E5E4D9"/>
+ <color name="subheading" value="#000000"/>
+ <color name="published" value="#4C6C8F" font="#FFFFFF"/>
+ <color name="feedback" value="#4C6C8F" font="#FFFFFF" align="center"/>
+ <color name="navstrip" value="#E5E4D9" font="#000000"/>
+
+ <color name="toolbox" value="#CFDCED" font="#000000"/>
+
+ <color name="border" value="#999999"/>
+ <color name="menu" value="#4C6C8F" font="#ffffff" link="#ffffff" vlink="#ffffff" hlink="#ffffff" current="#FFCC33" />
+ <color name="menuheading" value="#cfdced" font="#000000" />
+ <color name="searchbox" value="#E5E4D9" font="#000000"/>
+
+ <color name="dialog" value="#CFDCED"/>
+ <color name="body" value="#ffffff" />
+
+ <color name="table" value="#ccc"/>
+ <color name="table-cell" value="#ffffff"/>
+ <color name="highlight" value="#ffff00"/>
+ <color name="fixme" value="#cc6600"/>
+ <color name="note" value="#006699"/>
+ <color name="warning" value="#990000"/>
+ <color name="code" value="#003366"/>
+
+ <color name="footer" value="#E5E4D9"/>
+-->
+ </colors>
+
+ <!-- Settings specific to PDF output. -->
+ <pdf>
+ <!--
+ Supported page sizes are a0, a1, a2, a3, a4, a5, executive,
+ folio, legal, ledger, letter, quarto, tabloid (default letter).
+ Supported page orientations are portrait, landscape (default
+ portrait).
+ Supported text alignments are left, right, justify (default left).
+ -->
+ <page size="a4" orientation="portrait" text-align="left"/>
+
+ <!--
+ Margins can be specified for top, bottom, inner, and outer
+ edges. If double-sided="false", the inner edge is always left
+ and the outer is always right. If double-sided="true", the
+ inner edge will be left on odd pages, right on even pages,
+ the outer edge vice versa.
+ Specified below are the default settings.
+ -->
+ <margins double-sided="false">
+ <top>1in</top>
+ <bottom>1in</bottom>
+ <inner>1.25in</inner>
+ <outer>1in</outer>
+ </margins>
+
+ <!--
+ Print the URL text next to all links going outside the file
+ -->
+ <show-external-urls>false</show-external-urls>
+ </pdf>
+
+ <!-- Credits are typically rendered as a set of small clickable
+ images in the page footer.
+ Use box-location="alt" to move the credit to an alternate location
+ (if the skin supports it).
+ -->
+ <credits>
+ <credit box-location="alt">
+ <name>Built with Apache Forrest</name>
+ <url>http://forrest.apache.org/</url>
+ <image>images/built-with-forrest-button.png</image>
+ <width>88</width>
+ <height>31</height>
+ </credit>
+ <!-- A credit with @role='pdf' will have its name and url
+ displayed in the PDF page's footer. -->
+ </credits>
+
+</skinconfig>
Added: cocoon/whiteboard/block-deployer/src/documentation/translations/langcode.xml
==============================================================================
--- (empty file)
+++ cocoon/whiteboard/block-deployer/src/documentation/translations/langcode.xml Sat Sep 25 02:43:04 2004
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Copyright 2002-2004 The Apache Software Foundation
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<!--
+ This catalog is used so displays how the language name
+ is named by their speakers.
+-->
+<catalogue >
+ <message key="en">English</message>
+ <message key="es">Espanol</message>
+ <message key="it">Italiano</message>
+</catalogue>
Added: cocoon/whiteboard/block-deployer/src/documentation/translations/languages_en.xml
==============================================================================
--- (empty file)
+++ cocoon/whiteboard/block-deployer/src/documentation/translations/languages_en.xml Sat Sep 25 02:43:04 2004
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Copyright 2002-2004 The Apache Software Foundation
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<catalogue xml:lang="en">
+ <message key="en">English</message>
+ <message key="es">Spanish</message>
+ <message key="nl">Dutch</message>
+</catalogue>
Added: cocoon/whiteboard/block-deployer/src/documentation/translations/languages_es.xml
==============================================================================
--- (empty file)
+++ cocoon/whiteboard/block-deployer/src/documentation/translations/languages_es.xml Sat Sep 25 02:43:04 2004
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Copyright 2002-2004 The Apache Software Foundation
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<catalogue xml:lang="es">
+ <message key="en">Ingles</message>
+ <message key="es">Espanol</message>
+ <message key="nl">Holandes</message>
+</catalogue>
Added: cocoon/whiteboard/block-deployer/src/documentation/translations/menu.xml
==============================================================================
--- (empty file)
+++ cocoon/whiteboard/block-deployer/src/documentation/translations/menu.xml Sat Sep 25 02:43:04 2004
@@ -0,0 +1,32 @@
+<?xml version="1.0"?>
+<!--
+ Copyright 2002-2004 The Apache Software Foundation
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<catalogue xml:lang="en">
+ <message key="About">About</message>
+ <message key="Index">Index</message>
+ <message key="Changes">Changes</message>
+ <message key="Todo">Todo</message>
+ <message key="Samples">Samples</message>
+ <message key="Apache document">Apache document</message>
+ <message key="Static content">Static content</message>
+ <message key="Linking">Linking</message>
+ <message key="Wiki page">Wiki page</message>
+ <message key="ihtml page">Ihtml page</message>
+ <message key="ehtml page">Ehtml page</message>
+ <message key="FAQ">FAQ</message>
+ <message key="Simplifed Docbook">Simplifed Docbook</message>
+ <message key="XSP page">XSP page</message>
+</catalogue>
Added: cocoon/whiteboard/block-deployer/src/documentation/translations/menu_af.xml
==============================================================================
--- (empty file)
+++ cocoon/whiteboard/block-deployer/src/documentation/translations/menu_af.xml Sat Sep 25 02:43:04 2004
@@ -0,0 +1,32 @@
+<?xml version="1.0"?>
+<!--
+ Copyright 2002-2004 The Apache Software Foundation
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<catalogue xml:lang="af">
+ <message key="About">Aangaande</message>
+ <message key="Index">Inhoud</message>
+ <message key="Changes">Veranderinge</message>
+ <message key="Todo">Om te doen</message>
+ <message key="Samples">Voorbeelde</message>
+ <message key="Apache document">Apache dokument</message>
+ <message key="Static content">Statise Inhoud</message>
+ <message key="Linking">Linking</message>
+ <message key="Wiki page">Wiki bladsy</message>
+ <message key="ihtml page">Ihtml bladsy</message>
+ <message key="ehtml page">Ehtml bladsy</message>
+ <message key="FAQ">FAQ</message>
+ <message key="Simplifed Docbook">Vereenvoudigde Docbook</message>
+ <message key="XSP page">XSP bladsy</message>
+</catalogue>
Added: cocoon/whiteboard/block-deployer/src/documentation/translations/menu_de.xml
==============================================================================
--- (empty file)
+++ cocoon/whiteboard/block-deployer/src/documentation/translations/menu_de.xml Sat Sep 25 02:43:04 2004
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Copyright 2002-2004 The Apache Software Foundation
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<catalogue xml:lang="de">
+ <message key="About">Über</message>
+ <message key="Index">Index</message>
+ <message key="Changes">Änderungen </message>
+ <message key="Todo">Todo</message>
+ <message key="Samples">Beispiele</message>
+ <message key="Apache document">Apache Dokumentationsseite</message>
+ <message key="Static content">Statischer Inhalt</message>
+ <message key="Linking">Linking</message>
+ <message key="Wiki page">Wiki Seite</message>
+ <message key="ihtml page">ihtml Seite</message>
+ <message key="ehtml page">ehtml Seite</message>
+ <message key="FAQ">FAQ</message>
+ <message key="Simplifed Docbook">Vereinfachte Docbook</message>
+ <message key="XSP page">XSP Seite</message>
+</catalogue>
Added: cocoon/whiteboard/block-deployer/src/documentation/translations/menu_es.xml
==============================================================================
--- (empty file)
+++ cocoon/whiteboard/block-deployer/src/documentation/translations/menu_es.xml Sat Sep 25 02:43:04 2004
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Copyright 2002-2004 The Apache Software Foundation
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<catalogue xml:lang="es">
+ <message key="About">Acerca de</message>
+ <message key="Index">Indice</message>
+ <message key="Changes">Cambios</message>
+ <message key="Todo">Tareas pendientes</message>
+ <message key="Samples">Ejemplos</message>
+ <message key="Apache document">Documento Apache</message>
+ <message key="Static content">Contenido Estático</message>
+ <message key="Linking">Linking</message>
+ <message key="Wiki page">Página Wiki</message>
+ <message key="ihtml page">Página ihtml</message>
+ <message key="ehtml page">Página ehtml</message>
+ <message key="FAQ">Preguntas Frecuentes</message>
+ <message key="Simplifed Docbook">Página Simplifed Docbook</message>
+ <message key="XSP page">Página XSP</message>
+</catalogue>
Added: cocoon/whiteboard/block-deployer/src/documentation/translations/menu_it.xml
==============================================================================
--- (empty file)
+++ cocoon/whiteboard/block-deployer/src/documentation/translations/menu_it.xml Sat Sep 25 02:43:04 2004
@@ -0,0 +1,32 @@
+<?xml version="1.0"?>
+<!--
+ Copyright 2002-2004 The Apache Software Foundation
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<catalogue xml:lang="it">
+ <message key="About">Riguardo a</message>
+ <message key="Index">Indice</message>
+ <message key="Changes">Cambiamenti</message>
+ <message key="Todo">Cose da fare</message>
+ <message key="Samples">Esempi</message>
+ <message key="Apache document">Apache document</message>
+ <message key="Static content">Contenuto Statico</message>
+ <message key="Linking">Linking</message>
+ <message key="Wiki page">Pagina Wiki</message>
+ <message key="ihtml page">Pagina ihtml</message>
+ <message key="ehtml page">Pagina ehtml</message>
+ <message key="FAQ">Domande frequenti</message>
+ <message key="Simplifed Docbook">Simplifed Docbook</message>
+ <message key="XSP page">Pagina XSP</message>
+</catalogue>
Added: cocoon/whiteboard/block-deployer/src/documentation/translations/menu_no.xml
==============================================================================
--- (empty file)
+++ cocoon/whiteboard/block-deployer/src/documentation/translations/menu_no.xml Sat Sep 25 02:43:04 2004
@@ -0,0 +1,32 @@
+<?xml version="1.0"?>
+<!--
+ Copyright 2002-2004 The Apache Software Foundation
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<catalogue xml:lang="no">
+ <message key="About">Om</message>
+ <message key="Index">Indeks</message>
+ <message key="Changes">Endringer</message>
+ <message key="Todo">Oppgave liste</message>
+ <message key="Samples">Eksempler</message>
+ <message key="Apache document">Apache Dokument</message>
+ <message key="Static content">Statisk innhold</message>
+ <message key="Linking">Linking</message>
+ <message key="Wiki page">Wiki side</message>
+ <message key="ihtml page">ihtml side</message>
+ <message key="ehtml page">ehtml side</message>
+ <message key="FAQ">FAQ</message>
+ <message key="Simplifed Docbook">Simplifed Docbook</message>
+ <message key="XSP page">XSP side</message>
+</catalogue>
Added: cocoon/whiteboard/block-deployer/src/documentation/translations/menu_ru.xml
==============================================================================
--- (empty file)
+++ cocoon/whiteboard/block-deployer/src/documentation/translations/menu_ru.xml Sat Sep 25 02:43:04 2004
@@ -0,0 +1,32 @@
+<?xml version="1.0"?>
+<!--
+ Copyright 2002-2004 The Apache Software Foundation
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<catalogue xml:lang="ru">
+ <message key="About">О проекте</message>
+ <message key="Index">Содержание</message>
+ <message key="Changes">Изменения</message>
+ <message key="Todo">План</message>
+ <message key="Samples">Примеры</message>
+ <message key="Apache document">Страница документа Apache</message>
+ <message key="Static content">Статическое содержание</message>
+ <message key="Linking">Linking</message>
+ <message key="Wiki page">Страница Wiki</message>
+ <message key="ihtml page">Страница ihtml</message>
+ <message key="ehtml page">Страница ehtml</message>
+ <message key="FAQ">Вопросы/Ответы</message>
+ <message key="Simplifed Docbook">Docbook страница</message>
+ <message key="XSP page">XSP страница</message>
+</catalogue>
Added: cocoon/whiteboard/block-deployer/src/documentation/translations/menu_sk.xml
==============================================================================
--- (empty file)
+++ cocoon/whiteboard/block-deployer/src/documentation/translations/menu_sk.xml Sat Sep 25 02:43:04 2004
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Copyright 2002-2004 The Apache Software Foundation
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<catalogue xml:lang="sk">
+ <message key="About">O programe</message>
+ <message key="Index">Zoznám</message>
+ <message key="Changes">Zmeny</message>
+ <message key="Todo">Úlohy</message>
+ <message key="Samples">Príklady</message>
+ <message key="Apache document">Apache Document</message>
+ <message key="Static content">Statický Obsah</message>
+ <message key="Linking">Linking</message>
+ <message key="Wiki page">Wiki stránka</message>
+ <message key="ihtml page">ihtml stránka</message>
+ <message key="ehtml page">ehtml stránka</message>
+ <message key="FAQ">Casté Otázky</message>
+ <message key="Simplifed Docbook">Simplifed Docbook stránka</message>
+ <message key="XSP page">XSP stránka</message>
+</catalogue>
Added: cocoon/whiteboard/block-deployer/src/documentation/translations/tabs.xml
==============================================================================
--- (empty file)
+++ cocoon/whiteboard/block-deployer/src/documentation/translations/tabs.xml Sat Sep 25 02:43:04 2004
@@ -0,0 +1,21 @@
+<?xml version="1.0"?>
+<!--
+ Copyright 2002-2004 The Apache Software Foundation
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<catalogue xml:lang="en">
+ <message key="Home">Home</message>
+ <message key="Samples">Samples</message>
+ <message key="Apache XML Projects">Apache XML Projects</message>
+</catalogue>
Added: cocoon/whiteboard/block-deployer/src/documentation/translations/tabs_es.xml
==============================================================================
--- (empty file)
+++ cocoon/whiteboard/block-deployer/src/documentation/translations/tabs_es.xml Sat Sep 25 02:43:04 2004
@@ -0,0 +1,21 @@
+<?xml version="1.0"?>
+<!--
+ Copyright 2002-2004 The Apache Software Foundation
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<catalogue xml:lang="es">
+ <message key="Home">Inicio</message>
+ <message key="Samples">Ejemplos</message>
+ <message key="Apache XML Projects">Projectos XML Apache</message>
+</catalogue>
Added: cocoon/whiteboard/block-deployer/src/impl/org/apache/cocoon/blockdeployer/block/BlockPropertyImpl.java
==============================================================================
--- (empty file)
+++ cocoon/whiteboard/block-deployer/src/impl/org/apache/cocoon/blockdeployer/block/BlockPropertyImpl.java Sat Sep 25 02:43:04 2004
@@ -0,0 +1,59 @@
+/*
+ * Copyright 2004 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.cocoon.blockdeployer.block;
+
+/**
+ * @since 0.1
+ */
+public class BlockPropertyImpl implements BlockProperty {
+
+ protected String name;
+ protected String description;
+ protected String defaultValue;
+
+ public void setDefaultValue(String defaultValue) {
+ this.defaultValue = defaultValue;
+ }
+
+ public void setDescription(String description) {
+ this.description = description;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public String getName() {
+ return this.name;
+ }
+
+ public String getDescription() {
+ return this.description;
+ }
+
+ public String getDefaultValue() {
+ return this.defaultValue;
+ }
+
+ public String toString() {
+ StringBuffer buffer = new StringBuffer();
+ buffer.append("BlockPropertyImpl[");
+ buffer.append("defaultValue = ").append(defaultValue);
+ buffer.append(" description = ").append(description);
+ buffer.append(" name = ").append(name);
+ buffer.append("]");
+ return buffer.toString();
+ }}
Added: cocoon/whiteboard/block-deployer/src/impl/org/apache/cocoon/blockdeployer/block/RealBlock.java
==============================================================================
--- (empty file)
+++ cocoon/whiteboard/block-deployer/src/impl/org/apache/cocoon/blockdeployer/block/RealBlock.java Sat Sep 25 02:43:04 2004
@@ -0,0 +1,36 @@
+/*
+ * Copyright 2004 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.cocoon.blockdeployer.block;
+
+import java.io.IOException;
+import java.io.InputStream;
+
+import org.apache.cocoon.blockdeployer.block.Block;
+
+/**
+ * @since 0.1
+ */
+public class RealBlock implements Block{
+
+ public InputStream getInputStream() throws IOException {
+ return null;
+ }
+
+ public RemoteBlock getRemoteBlock() {
+ return null;
+ }
+
+}
Added: cocoon/whiteboard/block-deployer/src/impl/org/apache/cocoon/blockdeployer/block/RealBlockDescriptor.java
==============================================================================
--- (empty file)
+++ cocoon/whiteboard/block-deployer/src/impl/org/apache/cocoon/blockdeployer/block/RealBlockDescriptor.java Sat Sep 25 02:43:04 2004
@@ -0,0 +1,169 @@
+/*
+ * Copyright 2004 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.cocoon.blockdeployer.block;
+
+import java.util.Collection;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.List;
+import java.util.ArrayList;
+
+import org.apache.cocoon.blockdeployer.block.BlockDescriptor;
+import java.util.Map;
+
+/**
+ * @since 0.1
+ */
+public class RealBlockDescriptor implements BlockDescriptor {
+
+ private String blockId;
+ private String interfaceVersion;
+ private String version;
+ private String name;
+ private String author;
+ private String authorUrl;
+ private String description;
+ private String descriptionUrl;
+ private String sitemap;
+ private List dependencies;
+ private Collection properties = new ArrayList();
+ private Map propertiesMap = new HashMap();
+
+ // **************** base meta information ********************
+
+ public String getName() {
+ return this.name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public String getAuthor() {
+ return author;
+ }
+
+ public void setAuthor(String author) {
+ this.author = author;
+ }
+
+ public String getAuthorUrl() {
+ return authorUrl;
+ }
+
+ public void setAuthorUrl(String authorUrl) {
+ this.authorUrl = authorUrl;
+ }
+
+ public String getBlockId() {
+ return blockId;
+ }
+
+ public void setBlockId(String blockId) {
+ this.blockId = blockId;
+ }
+
+ public String getDescription() {
+ return description;
+ }
+
+ public void setDescription(String description) {
+ this.description = description;
+ }
+
+ public String getDescriptionUrl() {
+ return descriptionUrl;
+ }
+
+ public void setDescriptionURL(String descriptionURL) {
+ this.descriptionUrl = descriptionURL;
+ }
+
+ public String getInterfaceVersion() {
+ return interfaceVersion;
+ }
+
+ public void setInterfaceVersion(String interfaceVersion) {
+ this.interfaceVersion = interfaceVersion;
+ }
+
+ public String getSitemap() {
+ return sitemap;
+ }
+
+ public void setSitemap(String sitemap) {
+ this.sitemap = sitemap;
+ }
+
+ public String getVersion() {
+ return version;
+ }
+
+ public void setVersion(String version) {
+ this.version = version;
+ }
+
+ // **************** dependencies ********************
+
+ public Iterator getDependantBlockIDs() {
+ return this.dependencies.iterator();
+ }
+
+ public void setDependantBlockName(String dependencies) {
+ this.dependencies.add(dependencies);
+ }
+
+ // **************** properties ********************
+
+ public Iterator getPropertyNames() {
+ Iterator propertiesIt = this.properties.iterator();
+ while( propertiesIt.hasNext() ) {
+ BlockProperty bp = (BlockProperty) propertiesIt.next();
+ this.propertiesMap.put(bp.getName(), bp);
+ }
+ return this.propertiesMap.keySet().iterator();
+ }
+
+
+ public BlockProperty getProperty(String name) {
+ return (BlockProperty) this.propertiesMap.get(name);
+ }
+
+
+ public Collection getProperties() {
+ return this.properties;
+ }
+
+ // **************** requirements ********************
+
+ public Iterator getRequiredBlockURIs() {
+ return null;
+ }
+
+
+ // **************** implements ********************
+
+ public String getImplementedBlockURI() {
+ return null;
+ }
+
+ // **************** extends ********************
+
+ public String getExtendedBlockURI() {
+ return null;
+ }
+
+}
Added: cocoon/whiteboard/block-deployer/src/impl/org/apache/cocoon/blockdeployer/block/RealRemoteBlock.java
==============================================================================
--- (empty file)
+++ cocoon/whiteboard/block-deployer/src/impl/org/apache/cocoon/blockdeployer/block/RealRemoteBlock.java Sat Sep 25 02:43:04 2004
@@ -0,0 +1,56 @@
+/*
+ * Copyright 2004 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.cocoon.blockdeployer.block;
+
+import org.apache.cocoon.blockdeployer.block.Block;
+import org.apache.cocoon.blockdeployer.block.BlockDescriptor;
+import org.apache.cocoon.blockdeployer.block.RemoteBlock;
+import org.apache.cocoon.blockdeployer.repository.Locator;
+
+/**
+ * @since 0.1
+ */
+public class RealRemoteBlock implements RemoteBlock {
+
+ private Locator locator;
+ private Block block;
+ private BlockDescriptor blockDescriptor;
+
+ public Locator getLocator() {
+ return this.locator;
+ }
+
+ public void setLocator(Locator locator) {
+ this.locator = locator;
+ }
+
+ public Block getBlock() {
+ return this.block;
+ }
+
+ public void setBlock(Block block) {
+ this.block = block;
+ }
+
+ public BlockDescriptor getBlockDescriptor() {
+ return this.blockDescriptor;
+ }
+
+ public void setBlockDescriptor(BlockDescriptor blockDescriptor) {
+ this.blockDescriptor = blockDescriptor;
+ }
+
+}
Added: cocoon/whiteboard/block-deployer/src/impl/org/apache/cocoon/blockdeployer/block/RemoteBlockFactory.java
==============================================================================
--- (empty file)
+++ cocoon/whiteboard/block-deployer/src/impl/org/apache/cocoon/blockdeployer/block/RemoteBlockFactory.java Sat Sep 25 02:43:04 2004
@@ -0,0 +1,72 @@
+/*
+ * Copyright 2004 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.cocoon.blockdeployer.block;
+
+import java.io.InputStream;
+import java.io.InputStreamReader;
+
+import org.apache.cocoon.blockdeployer.repository.Locator;
+import org.exolab.castor.mapping.Mapping;
+import org.exolab.castor.xml.Unmarshaller;
+
+/**
+ * This factory class creates RemoteBlocks based on the descriptor
+ * file added to the block.
+ *
+ * Currently blocks with the namespace 'http://apache.org/cocoon/blocks/cob/1.0'
+ * are supported.
+ *
+ * @since 0.1
+ */
+public class RemoteBlockFactory {
+
+ /**
+ * Creates a RemoteBlock based on the descriptor and is called from
+ * a locator which wants to provide a RemoteBlock.
+ *
+ * @param descriptorString is a string containing the BlockDescription (block.xml)
+ * @return the RemoteBlock
+ */
+ /*
+ * FIXME the factory should analyse the descriptor and decide based on the results which BlockDescriptor
+ * implementation is used
+ * FIXME the descriptor should be analyzed whether it is correct - otherwise raise an exception
+ */
+ public static RemoteBlock getRemoteBlock(InputStream descriptor, Locator locator) throws Exception {
+ // analyse the descriptor and decide which RemoteBlock implementation should be used
+
+ // it's a RealRemoteBlock ...
+ RealRemoteBlock realRemoteBlock = new RealRemoteBlock();
+ realRemoteBlock.setBlockDescriptor(createCOB10Descriptor(descriptor));
+ realRemoteBlock.setLocator(locator);
+
+ return realRemoteBlock;
+ }
+
+ private static RealBlockDescriptor createCOB10Descriptor(InputStream descriptor) throws Exception {
+ Mapping mapping = new Mapping();
+ mapping.loadMapping("mapping/block.xml-mapping.xml");
+
+ Unmarshaller unmarshaller = new Unmarshaller(RealBlockDescriptor.class);
+ unmarshaller.setMapping(mapping);
+ unmarshaller.setIgnoreExtraAttributes(true);
+ unmarshaller.setIgnoreExtraElements(true);
+// unmarshaller.setDebug(true);
+ RealBlockDescriptor realBlockDescriptor = (RealBlockDescriptor)unmarshaller.unmarshal(new InputStreamReader(descriptor));
+ return realBlockDescriptor;
+ }
+
+}
Added: cocoon/whiteboard/block-deployer/src/impl/org/apache/cocoon/blockdeployer/locking/FilesystemLock.java
==============================================================================
--- (empty file)
+++ cocoon/whiteboard/block-deployer/src/impl/org/apache/cocoon/blockdeployer/locking/FilesystemLock.java Sat Sep 25 02:43:04 2004
@@ -0,0 +1,43 @@
+/*
+ * Copyright 2004 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.cocoon.blockdeployer.locking;
+
+import java.util.Date;
+
+import org.apache.cocoon.blockdeployer.locking.Lock;
+
+/**
+ * @since 0.1
+ */
+public class FilesystemLock implements Lock {
+
+ public void setTimestamp(Date timestamp) {
+
+ }
+
+ public Date getLockTime() {
+ return null;
+ }
+
+ public void setComment(String comment) {
+
+ }
+
+ public String getComment() {
+ return null;
+ }
+
+}
Added: cocoon/whiteboard/block-deployer/src/impl/org/apache/cocoon/blockdeployer/repository/ApplicationServerLocator.java
==============================================================================
--- (empty file)
+++ cocoon/whiteboard/block-deployer/src/impl/org/apache/cocoon/blockdeployer/repository/ApplicationServerLocator.java Sat Sep 25 02:43:04 2004
@@ -0,0 +1,125 @@
+/*
+ * Copyright 2004 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.cocoon.blockdeployer.repository;
+
+import java.io.File;
+import java.net.MalformedURLException;
+
+import org.apache.cocoon.blockdeployer.block.Block;
+import org.apache.cocoon.blockdeployer.block.RemoteBlock;
+import org.apache.cocoon.blockdeployer.locking.Lock;
+import org.apache.cocoon.blockdeployer.locking.LockingException;
+import org.apache.cocoon.blockdeployer.repository.Browsable;
+import org.apache.cocoon.blockdeployer.repository.Deployable;
+import org.apache.cocoon.blockdeployer.repository.Locator;
+import org.apache.cocoon.blockdeployer.repository.Lockable;
+import org.apache.cocoon.blockdeployer.repository.Searchable;
+import org.apache.cocoon.blockdeployer.wiring.Wiring;
+
+
+/**
+ * The <code>ApplicationServerLocator</code> points to a Cocoon server that can manage
+ * <code>Block</code>s.
+ *
+ * @since 0.1
+ */
+public class ApplicationServerLocator implements
+ Locator, Browsable, Deployable, Searchable, Lockable {
+
+ private File basedir;
+ private Wiring wiring;
+
+ /**
+ * Provide the basedir and the wiring.
+ *
+ * @param basedir is a <code>File</code> object pointing to the directory where blocks can be deployed
+ * @param wiring is the @link Wiring (representing wiring.xml) of a Cocoon server
+ */
+ public ApplicationServerLocator(File basedir, Wiring wiring) {
+ if(!basedir.exists()) {
+ throw new IllegalArgumentException("The specified directory is not available!");
+ }
+ if(!basedir.isDirectory()) {
+ throw new IllegalArgumentException("The specified base dir (usually [appserv]/WEB-INF/blocks) " +
+ "for this locator is not a directory!");
+ }
+ if(!basedir.canWrite()) {
+ throw new IllegalArgumentException("The specified base dir is not writeable!");
+ }
+ if(wiring == null) {
+ throw new IllegalArgumentException("The wiring mustn't be null!");
+ }
+ this.basedir = basedir;
+ this.wiring = wiring;
+ }
+
+ public RemoteBlock getBlock(String blockUri) {
+ return null;
+ }
+
+ public RemoteBlock[] browse() {
+ return null;
+ }
+
+ /**
+ * Deploy an array of blocks. It makes sure that either any or all blocks are
+ * deployed.
+ */
+ /*
+ * FIXME how to make sure that either any or all blocks is deployed ...?
+ */
+ public boolean deploy(Block[] blocks) {
+ // remove all blocks deployed into temp dirs (left from an unsuccessful deploy before)
+
+ // extract all blocks into tmp dirs
+
+ // add new blocks to wiring object
+
+ // --- start transaction (but how ...)
+ // rename all block directories
+
+ // write wiring
+
+ // --- end transaction
+
+ return false;
+ }
+
+ public RemoteBlock[] lookupBlock(String blockId) {
+ return null;
+ }
+
+ public void setLock(Lock lock) throws LockingException {
+
+ }
+
+ public Lock getLockingStatus() throws LockingException {
+ return null;
+ }
+
+ public boolean removeLock() throws LockingException {
+ return false;
+ }
+
+ public String getIdentifier() {
+ try {
+ return this.basedir.toURL().toString();
+ } catch (MalformedURLException e) {
+ }
+ return null;
+ }
+
+}
Added: cocoon/whiteboard/block-deployer/src/impl/org/apache/cocoon/blockdeployer/repository/DefaultRepository.java
==============================================================================
--- (empty file)
+++ cocoon/whiteboard/block-deployer/src/impl/org/apache/cocoon/blockdeployer/repository/DefaultRepository.java Sat Sep 25 02:43:04 2004
@@ -0,0 +1,86 @@
+/*
+ * Copyright 2004 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.cocoon.blockdeployer.repository;
+
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+
+import org.apache.cocoon.blockdeployer.block.RemoteBlock;
+import org.apache.cocoon.blockdeployer.repository.Locator;
+import org.apache.cocoon.blockdeployer.repository.Repository;
+
+/**
+ * @since 0.1
+ */
+public class DefaultRepository implements Repository {
+
+ private List locators = new ArrayList();
+
+ public void addLocator(Locator locator) {
+ if(locator == null) {
+ throw new NullPointerException("You mustn't pass null.");
+ }
+ this.locators.add(locator);
+ }
+
+ public void removeLocator(Locator locator) {
+ if(locator == null) {
+ throw new NullPointerException("You mustn't pass null.");
+ }
+ this.locators.remove(locator);
+ }
+
+ public RemoteBlock[] browse() {
+ return null;
+ }
+
+ public RemoteBlock[] lookupBlock(String blockId) {
+ ArrayList tempLocators = new ArrayList();
+ // if the locator has the requested block it is added
+ Iterator locatorsIterator = this.locators.iterator();
+ while(locatorsIterator.hasNext()) {
+ Locator locator = (Locator) locatorsIterator.next();
+ RemoteBlock remoteBlock = null;
+ try {
+ remoteBlock = locator.getBlock(blockId);
+ if(remoteBlock != null) {
+ tempLocators.add(remoteBlock);
+ }
+ } catch(Exception ex) {
+ // don't add this RemoteBlock to the list
+ }
+ }
+
+ Object[] array = tempLocators.toArray();
+ RemoteBlock[] resultRemoteBlock = new RemoteBlock[tempLocators.size()];
+ for(int i = 0; i < tempLocators.size(); i++) {
+ resultRemoteBlock[i] = (RemoteBlock) array[i];
+ }
+ return resultRemoteBlock;
+ }
+
+ public String toString() {
+ StringBuffer sb = new StringBuffer();
+ sb.append("This repository uses following locators to get blocks:\n");
+ for(int i = 0; i < this.locators.size(); i++) {
+ Locator locator = (Locator) this.locators.get(i);
+ sb.append(" " + i + ". " + locator.getIdentifier() );
+ }
+ return sb.toString();
+ }
+
+}
\ No newline at end of file
Added: cocoon/whiteboard/block-deployer/src/impl/org/apache/cocoon/blockdeployer/repository/DependencyBuilder.java
==============================================================================
--- (empty file)
+++ cocoon/whiteboard/block-deployer/src/impl/org/apache/cocoon/blockdeployer/repository/DependencyBuilder.java Sat Sep 25 02:43:04 2004
@@ -0,0 +1,29 @@
+/*
+ * Copyright 2004 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.cocoon.blockdeployer.repository;
+
+import org.apache.cocoon.blockdeployer.block.RemoteBlock;
+
+/**
+ * @since 0.1
+ */
+public class DependencyBuilder {
+
+ public static RemoteBlock[] getDependingBlocks(RemoteBlock repositoryBlock) {
+ return null;
+ }
+
+}
Added: cocoon/whiteboard/block-deployer/src/impl/org/apache/cocoon/blockdeployer/repository/FilesystemLocator.java
==============================================================================
--- (empty file)
+++ cocoon/whiteboard/block-deployer/src/impl/org/apache/cocoon/blockdeployer/repository/FilesystemLocator.java Sat Sep 25 02:43:04 2004
@@ -0,0 +1,108 @@
+/*
+ * Copyright 2004 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.cocoon.blockdeployer.repository;
+
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileNotFoundException;
+import java.io.InputStream;
+import java.net.MalformedURLException;
+import java.util.zip.ZipInputStream;
+
+import org.apache.cocoon.blockdeployer.block.RemoteBlock;
+import org.apache.cocoon.blockdeployer.block.RemoteBlockFactory;
+import org.apache.cocoon.blockdeployer.utils.LocatorUtils;
+
+/**
+ * @since 0.1
+ */
+public class FilesystemLocator implements Locator {
+
+ private File basedir;
+
+ public FilesystemLocator(File basedir) {
+ this.basedir = basedir;
+ if(!basedir.exists()) {
+ throw new IllegalArgumentException("The specified directory is not available!");
+ }
+ if(!basedir.isDirectory()) {
+ throw new IllegalArgumentException("The specified base for this locator is not a directory!");
+ }
+ }
+
+ public String getIdentifier() {
+ try {
+ return this.basedir.toURL().toString();
+ } catch (MalformedURLException e) {
+ }
+ return null;
+ }
+
+ public RemoteBlock getBlock(String blockUri) throws Exception {
+ // strip schema to get the path
+ if(!LocatorUtils.checkUri(blockUri)) {
+ throw new IllegalArgumentException("Can't find the requested block " + blockUri +
+ ". Wrong schema, only http:// block uris are allowed.");
+ }
+
+ File cobFile = null;
+ try {
+ cobFile = LocatorUtils.getCobAsFile(this.basedir, blockUri.substring("http:/".length()));
+ } catch(FileNotFoundException fnfe) {
+ String cobFilePath = null;
+ if(cobFile != null) {
+ cobFilePath = cobFile.getAbsolutePath();
+ }
+ else {
+ return null;
+ }
+ }
+
+ // read the descriptor from the ZIP file
+ InputStream descriptorInputStream = null;
+ try {
+ descriptorInputStream = LocatorUtils.getDescriptorInputStream(new ZipInputStream(new FileInputStream(cobFile)));
+ } catch (Exception e) {
+ throw new Exception("Can't read block from " + cobFile.getAbsolutePath());
+ }
+
+ // get the RemoteBlock from the factory
+ RemoteBlock remoteBlock = null;
+ try {
+ remoteBlock = RemoteBlockFactory.getRemoteBlock(descriptorInputStream, this);
+ } catch (Exception e) {
+ throw new Exception("Can't read block descriptor from " +
+ cobFile.getAbsolutePath() + "; " + e.getMessage());
+ }
+
+ return remoteBlock;
+ }
+
+ public RemoteBlock[] browse() {
+ return null;
+ }
+
+ public RemoteBlock[] lookupBlock(String blockId) {
+ return null;
+ }
+
+ public String toString() {
+ StringBuffer sb = new StringBuffer();
+ sb.append("Filesystemlocator: basedir = " + this.basedir);
+ return sb.toString();
+ }
+
+}
Added: cocoon/whiteboard/block-deployer/src/impl/org/apache/cocoon/blockdeployer/repository/LocatorFactory.java
==============================================================================
--- (empty file)
+++ cocoon/whiteboard/block-deployer/src/impl/org/apache/cocoon/blockdeployer/repository/LocatorFactory.java Sat Sep 25 02:43:04 2004
@@ -0,0 +1,30 @@
+/*
+ * Copyright 2004 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.cocoon.blockdeployer.repository;
+
+/**
+ * The LocatorFactory creates based on the provided URL
+ * a Locator.
+ *
+ * @since 0.1
+ */
+public class LocatorFactory {
+
+ public static Locator getLocator(String url) {
+ return null;
+ }
+
+}
Added: cocoon/whiteboard/block-deployer/src/impl/org/apache/cocoon/blockdeployer/utils/LocatorUtils.java
==============================================================================
--- (empty file)
+++ cocoon/whiteboard/block-deployer/src/impl/org/apache/cocoon/blockdeployer/utils/LocatorUtils.java Sat Sep 25 02:43:04 2004
@@ -0,0 +1,129 @@
+/*
+ * Copyright 2004 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.cocoon.blockdeployer.utils;
+
+import java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
+import java.io.File;
+import java.io.FileNotFoundException;
+import java.io.IOException;
+import java.io.InputStream;
+import java.util.zip.ZipEntry;
+import java.util.zip.ZipInputStream;
+
+import org.apache.cocoon.blockdeployer.repository.Locator;
+
+/**
+ * @since 0.1
+ */
+public class LocatorUtils {
+
+ /**
+ * Check if a uri starts with the default protocol.
+ *
+ * @param uri
+ * @return returns true if the URI is valid (= starts with http)
+ */
+ public static boolean checkUri(String uri) {
+ if(uri.startsWith("http://")) {
+ return true;
+ }
+ return false;
+ }
+
+ /**
+ * Read the file @link Locator.COB_INF_BLOCK_XML (block.xml) from the ZipInputStream and
+ * return an @link InputStream.
+ *
+ * @throws FileNotFoundException if the ZipInputStream doesn't contain block.xml
+ * @throws IOException if there is a problem while reading the input stream
+ */
+ public static InputStream getDescriptorInputStream(ZipInputStream cobStream)
+ throws IOException, FileNotFoundException {
+
+ boolean found = false;
+ ZipEntry document = null;
+
+ do {
+ document = cobStream.getNextEntry();
+ if (document != null) {
+ if (document.getName().equals(Locator.COB_INF_BLOCK_XML)) {
+ found = true;
+ } else {
+ // go to next entry
+ cobStream.closeEntry();
+ }
+ }
+ } while (document != null && found == false);
+
+ if(found == false) {
+ throw new FileNotFoundException("The ZIP file doesn't contain " + Locator.COB_INF_BLOCK_XML);
+ }
+
+ // now we will extract the document and write it into a byte array
+ ByteArrayOutputStream baos = new ByteArrayOutputStream();
+ try {
+ byte[] buffer = new byte[8192];
+ int length = -1;
+ while (cobStream.available() > 0) {
+ length = cobStream.read(buffer, 0, 8192);
+ if (length > 0) {
+ baos.write(buffer, 0, length);
+ }
+ }
+ } finally {
+ cobStream.close();
+ }
+ baos.flush();
+
+ return new ByteArrayInputStream(baos.toByteArray());
+ }
+
+ /**
+ * This method returns the first .cob file from a directory. It takes as arguments
+ * a @link File with the base directory and a String indicating a subdirectory
+ * of the base directory. After computing the directory containing the .cob file
+ * the first .cob file is returned as @link File.
+ */
+ public static File getCobAsFile(File basedir, String blockPath)
+ throws FileNotFoundException, IllegalArgumentException {
+
+ if(basedir == null || blockPath == null) {
+ throw new IllegalArgumentException("You mustn't provide <null> arguments!");
+ }
+
+ File absoluteBlockBasedir = new File(basedir.getAbsoluteFile() + blockPath);
+ if(!absoluteBlockBasedir.exists()) {
+ throw new FileNotFoundException("Directory " + absoluteBlockBasedir.getAbsolutePath() + " does not exist!");
+ }
+
+ // get the first!!! COB file
+ String[] directoryContent = absoluteBlockBasedir.list();
+ File cobFile = null;
+ for(int i = 0; i < directoryContent.length; i++) {
+ String name = directoryContent[i];
+ if(name.toLowerCase().endsWith(".cob")) {
+ cobFile = new File(absoluteBlockBasedir.getAbsoluteFile() + "/" + name);
+ if(cobFile.exists()) {
+ return cobFile;
+ }
+ }
+ }
+ throw new FileNotFoundException("No file found while searching for " + blockPath + ". Searched in directory " +
+ absoluteBlockBasedir + " for the first available COB file.");
+ }
+
+}
Added: cocoon/whiteboard/block-deployer/src/impl/org/apache/cocoon/blockdeployer/wiring/WiringBuilder.java
==============================================================================
--- (empty file)
+++ cocoon/whiteboard/block-deployer/src/impl/org/apache/cocoon/blockdeployer/wiring/WiringBuilder.java Sat Sep 25 02:43:04 2004
@@ -0,0 +1,24 @@
+/*
+ * Copyright 2004 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.cocoon.blockdeployer.wiring;
+
+/**
+ * @author Cocoon Community
+ * @since 0.1
+ */
+public class WiringBuilder {
+
+}
Added: cocoon/whiteboard/block-deployer/src/impl/org/apache/cocoon/blockdeployer/wiring/WiringWriter.java
==============================================================================
--- (empty file)
+++ cocoon/whiteboard/block-deployer/src/impl/org/apache/cocoon/blockdeployer/wiring/WiringWriter.java Sat Sep 25 02:43:04 2004
@@ -0,0 +1,24 @@
+/*
+ * Copyright 2004 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.cocoon.blockdeployer.wiring;
+
+
+/**
+ * @since 0.1
+ */
+public class WiringWriter {
+
+}
Added: cocoon/whiteboard/block-deployer/src/schema/cob-schema-1.0.xsd
==============================================================================
--- (empty file)
+++ cocoon/whiteboard/block-deployer/src/schema/cob-schema-1.0.xsd Sat Sep 25 02:43:04 2004
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<xs:schema targetNamespace="http://apache.org/cocoon/blocks/cob/1.0" xmlns="http://apache.org/cocoon/blocks/cob/1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
+ <xs:element name="block">
+ <xs:complexType>
+ <xs:all>
+ <xs:element ref="name"/>
+ <xs:element ref="description"/>
+ <xs:element ref="license"/>
+ <xs:element ref="author"/>
+ <xs:element ref="sitemap"/>
+ <xs:element name="parameters" type="parametersList" minOccurs="0"/>
+ </xs:all>
+ <xs:attribute name="id" type="xs:anyURI" use="required"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="name" type="xs:string"/>
+ <xs:element name="description" type="xs:string"/>
+ <xs:element name="license" type="xs:string"/>
+ <xs:element name="author" type="xs:string"/>
+ <xs:element name="sitemap" type="xs:string"/>
+ <xs:complexType name="parametersList">
+ <xs:sequence>
+ <xs:element name="param" type="param" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="param">
+ <xs:attribute name="name" type="xs:string" use="required"/>
+ <xs:attribute name="type" use="required">
+ <xs:simpleType>
+ <xs:restriction base="xs:NMTOKEN">
+ <xs:enumeration value="hidden-string"/>
+ <xs:enumeration value="string"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ </xs:complexType>
+</xs:schema>
Added: cocoon/whiteboard/block-deployer/status.xml
==============================================================================
--- (empty file)
+++ cocoon/whiteboard/block-deployer/status.xml Sat Sep 25 02:43:04 2004
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!--
+ Copyright 1999-2004 The Apache Software Foundation
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<status>
+
+ <developers>
+ <person name="Reinhard P�tz" email="reinhard_AT_apache.org" id="RPO"/>
+ </developers>
+
+ <changes>
+ <!-- Add new releases here -->
+ <release version="0.1" date="unreleased">
+ <action dev="RPO" type="add" context="admin">
+ Initial Import
+ </action>
+ </release>
+ </changes>
+
+ <todo>
+ <actions priority="high">
+ <action context="code" dev="RPO">
+ Implement ApplicationServerLocator
+ </action>
+ <action context="code" dev="RPO">
+ Logging
+ </action>
+ <action context="code" dev="N.N.">
+ Commandline deployer client
+ </action>
+ <action context="code" dev="RPO">
+ Refactoring: make it possible to use different Block implementations (via config files)
+ </action>
+ </actions>
+ </todo>
+
+</status>
Added: cocoon/whiteboard/block-deployer/test/junit/org/apache/cocoon/blockdeployer/Constants.java
==============================================================================
--- (empty file)
+++ cocoon/whiteboard/block-deployer/test/junit/org/apache/cocoon/blockdeployer/Constants.java Sat Sep 25 02:43:04 2004
@@ -0,0 +1,40 @@
+/*
+ * Copyright 2004 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.cocoon.blockdeployer;
+
+/**
+ * @since 0.1
+ */
+public interface Constants {
+
+ // repositories
+ public static final String VALID_LOCATION_1 = "test/sample-repositories/rep1";
+ public static final String INVALID_LOCATION = "bla";
+
+ // available and valid block
+ public static final String AVAILABLE_VALID_WEBMAIL1343_BLOCKID = "http://mycompany.com/webmail/1.3.43";
+ public static final String AVAILABLE_VALID_WEBMAIL1343_BLOCKPATH = "/mycompany.com/webmail/1.3.43";
+ public static final String AVAILABLE_VALID_WEBMAIL1343_BLOCKFILE = "webmail-1.3.43.cob";
+
+ // available but invalid block (no block.xml)
+ public static final String AVAILABLE_INVALID_SAMPLE_BLOCKID = "http://bla";
+
+ // unavailable block
+ public static final String UNAVAILABLE_INVALID_BLOCKID = "http://mycompany.com/invalid/1.0.0";
+ public static final String UNAVAILABLE_INVALID_BLOCKPATH = "/mycompany.com/invalid/1.0.0";
+ public static final String UNAVAILABLE_INVALID_BLOCKFILE = "invalid.cob";
+
+}
Added: cocoon/whiteboard/block-deployer/test/junit/org/apache/cocoon/blockdeployer/repository/DefaultRepositoryTest.java
==============================================================================
--- (empty file)
+++ cocoon/whiteboard/block-deployer/test/junit/org/apache/cocoon/blockdeployer/repository/DefaultRepositoryTest.java Sat Sep 25 02:43:04 2004
@@ -0,0 +1,179 @@
+
+/*
+ * Copyright 2004 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.cocoon.blockdeployer.repository;
+
+import junit.framework.TestCase;
+
+import org.apache.cocoon.blockdeployer.block.RemoteBlock;
+import org.easymock.MockControl;
+
+/**
+ * @since 0.1
+ */
+public class DefaultRepositoryTest extends TestCase {
+
+ /**
+ * Test removing a locator
+ */
+ public void testLocatorAddingAndRemoving() {
+ String locator1Name = "locator1";
+ String locator2Name = "locator2";
+ String locator3Name = "locator3";
+
+ String[] allAvailableBlocks = {"myBlock"};
+
+ DefaultRepository defaultRepository = new DefaultRepository();
+
+ // fill the repository with blocks
+ defaultRepository.addLocator(createMockLocator(locator1Name, allAvailableBlocks, new String[] {"myBlock"}));
+ Locator locator2 = createMockLocator(locator2Name, allAvailableBlocks, new String[] {"myBlock"});
+ defaultRepository.addLocator(locator2);
+ defaultRepository.addLocator(createMockLocator(locator3Name, allAvailableBlocks, new String[] {"myBlock"}));
+
+ // test that all locators return the block
+ RemoteBlock[] resultRemoteBlock = defaultRepository.lookupBlock("myBlock");
+ assertEquals(resultRemoteBlock[0].getLocator().getIdentifier(), locator1Name);
+ assertEquals(resultRemoteBlock[1].getLocator().getIdentifier(), locator2Name);
+ assertEquals(resultRemoteBlock[2].getLocator().getIdentifier(), locator3Name);
+
+ // remove a locator and test whether it has been removed
+ defaultRepository.removeLocator(locator2);
+ resultRemoteBlock = defaultRepository.lookupBlock("myBlock");
+ assertEquals(resultRemoteBlock[0].getLocator().getIdentifier(), locator1Name);
+ assertEquals(resultRemoteBlock[1].getLocator().getIdentifier(), locator3Name);
+ assertEquals(resultRemoteBlock.length, 2);
+ }
+
+ public void testRepositoryWithoutLocators() {
+ DefaultRepository defaultRepository = new DefaultRepository();
+ }
+
+ public void testSettingNullLocator() {
+ DefaultRepository defaultRepository = new DefaultRepository();
+ try {
+ defaultRepository.addLocator(null);
+ fail("The method addLocator mustn't accept null references.");
+ } catch(NullPointerException npe) {
+ // correct behaviour
+ }
+ }
+
+ /**
+ * Test whether the DefaultRepository returns the correct blocks in the correct order.
+ */
+ public void testBlockLookup() {
+
+ String locator1Name = "locator1";
+ String locator2Name = "locator2";
+ String locator3Name = "locator3";
+
+ String[] allAvailableBlocks = {"myBlock1", "myBlock2", "myBlock3", "myBlock4"};
+
+ DefaultRepository defaultRepository = new DefaultRepository();
+
+ // fill the repository with blocks
+ defaultRepository.addLocator(
+ createMockLocator(locator1Name, allAvailableBlocks, new String[] {"myBlock4"}));
+ defaultRepository.addLocator(
+ createMockLocator(locator2Name, allAvailableBlocks, new String[] {"myBlock3", "myBlock2"}));
+ defaultRepository.addLocator(
+ createMockLocator(locator3Name, allAvailableBlocks, new String[] {"myBlock1", "myBlock4", "myBlock3"}));
+
+ // test that myBlock3 is returned twice, having the locators locator2 and locator3
+ RemoteBlock[] resultRemoteBlock = defaultRepository.lookupBlock("myBlock3");
+ assertEquals(resultRemoteBlock[0].getLocator().getIdentifier(), locator2Name);
+ assertEquals(resultRemoteBlock[1].getLocator().getIdentifier(), locator3Name);
+ assertEquals(resultRemoteBlock.length, 2);
+
+ // test that myBlock1 is returned once, having the locator locator3
+ resultRemoteBlock = defaultRepository.lookupBlock("myBlock1");
+ assertEquals(resultRemoteBlock[0].getLocator().getIdentifier(), locator3Name);
+ assertEquals(resultRemoteBlock.length, 1);
+
+ // test that myBlock4 is returned once, having the locators locator1 and locator3
+ resultRemoteBlock = defaultRepository.lookupBlock("myBlock4");
+ assertEquals(resultRemoteBlock[0].getLocator().getIdentifier(), locator1Name);
+ assertEquals(resultRemoteBlock[1].getLocator().getIdentifier(), locator3Name);
+ assertEquals(resultRemoteBlock.length, 2);
+
+ }
+
+ /**
+ * Create a mock locator containg all <code>locatorBlocks</code> and returning a RemoteBlock object for them.
+ * If they don't contain a certain block, the locator returns null.
+ *
+ * @param name
+ * @param allAvailableBlocks - all blocks available repository wide
+ * @param locatorBlocks - all blocks that the locator should return (not null)
+ * @return returns a mock locator
+ */
+ private Locator createMockLocator(String name, String[] allAvailableBlocks, String[] locatorBlocks) {
+ // create a mock for a RemoteBlock
+ MockControl blockControl = MockControl.createControl(RemoteBlock.class);
+ RemoteBlock remoteBlock = (RemoteBlock) blockControl.getMock();
+
+ // create a mock for the locator
+ MockControl control1 = MockControl.createControl(Locator.class);
+ Locator locator = (Locator) control1.getMock();
+
+ // give the locator mock behaviour (setting available blocks, identifier)
+ locator.getIdentifier();
+ control1.setReturnValue(name, MockControl.ZERO_OR_MORE);
+ try {
+ for(int i = 0; i < allAvailableBlocks.length; i++) {
+ locator.getBlock(allAvailableBlocks[i]);
+ if(hasItem(locatorBlocks, allAvailableBlocks[i])) {
+ control1.setReturnValue(remoteBlock, MockControl.ZERO_OR_MORE);
+ }
+ else {
+ control1.setReturnValue(null, MockControl.ZERO_OR_MORE);
+ }
+ }
+ } catch (Exception e) {
+ }
+
+ // activate the locator mock
+ control1.replay();
+
+ // give the remote block mock behaviour
+ remoteBlock.getLocator();
+ blockControl.setReturnValue(locator, MockControl.ZERO_OR_MORE);
+
+ // activate the remote block mock
+ blockControl.replay();
+
+ return locator;
+ }
+
+ /**
+ * Test whether an array of Strings contains a certain String
+ *
+ * @param allItems
+ * @param item
+ * @return returns true if <code>allItems<code> contains the String <code>item>/code>
+ */
+ private boolean hasItem(String[] allItems, String item) {
+ for(int i = 0; i < allItems.length; i++) {
+ if(allItems[i].equals(item)) {
+ return true;
+ }
+ }
+ return false;
+ }
+
+}
Added: cocoon/whiteboard/block-deployer/test/junit/org/apache/cocoon/blockdeployer/repository/FilesystemLocatorTest.java
==============================================================================
--- (empty file)
+++ cocoon/whiteboard/block-deployer/test/junit/org/apache/cocoon/blockdeployer/repository/FilesystemLocatorTest.java Sat Sep 25 02:43:04 2004
@@ -0,0 +1,188 @@
+/*
+ * Copyright 2004 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.cocoon.blockdeployer.repository;
+
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileNotFoundException;
+import java.io.InputStream;
+import java.util.zip.ZipInputStream;
+
+import junit.framework.TestCase;
+
+import org.apache.cocoon.blockdeployer.Constants;
+import org.apache.cocoon.blockdeployer.block.RemoteBlock;
+import org.apache.cocoon.blockdeployer.utils.LocatorUtils;
+
+/**
+ * @since 0.1
+ */
+public class FilesystemLocatorTest extends TestCase {
+
+ public final void testFilesystemLocator() {
+
+ // this path is not available
+ try {
+ Locator l = new FilesystemLocator(new File(Constants.AVAILABLE_INVALID_SAMPLE_BLOCKID));
+ fail("The contructor of the FilesystemLocator has to check whether its base directory is available.");
+ } catch(IllegalArgumentException fnfe) {
+ }
+ // -------------------------------------------------------------------------------------
+
+ // this path should be available
+ Locator filesystemLocator = null;
+ try {
+ filesystemLocator = new FilesystemLocator(new File(Constants.VALID_LOCATION_1));
+ } catch (IllegalArgumentException fnfe) {
+ fail("Testrepository is not found!" + fnfe.getLocalizedMessage());
+ }
+ assertNotNull(filesystemLocator);
+
+ // get the block that should be available and test its data
+ RemoteBlock remoteBlock = null;
+ try {
+ remoteBlock = filesystemLocator.getBlock(Constants.AVAILABLE_VALID_WEBMAIL1343_BLOCKID);
+ } catch(Exception e) {
+ fail("Testrepository should be found!");
+ }
+
+ // FIXME this test has to move into RemoteBlockFactoryTest (it actually tests the XML mapping of Castor)
+ assertEquals(Constants.AVAILABLE_VALID_WEBMAIL1343_BLOCKID, remoteBlock.getBlockDescriptor().getBlockId());
+
+ // test whether the blockdescriptor is set
+ assertNotNull(remoteBlock.getBlockDescriptor());
+
+ // test whether the locator is available and the same as set before
+ assertNotNull(remoteBlock.getLocator());
+ assertSame(filesystemLocator, remoteBlock.getLocator());
+
+ }
+
+ public final void testUnavailableBlockAccess() {
+ // this path should be available
+ Locator filesystemLocator = null;
+ try {
+ String rep = Constants.VALID_LOCATION_1;
+ filesystemLocator = new FilesystemLocator(new File(rep));
+ } catch (IllegalArgumentException fnfe) {
+ fail("Test broken: Available Testrepository is not found!" + fnfe.getLocalizedMessage());
+ }
+
+ // try to get an unavailable block
+ RemoteBlock remoteBlock = null;
+ try {
+ remoteBlock = filesystemLocator.getBlock(Constants.AVAILABLE_INVALID_SAMPLE_BLOCKID);
+ } catch (Exception e) {
+ fail("The block URI is valid but at this place there is no block. This returns null and doesn't raise an exception.");
+ }
+ if(remoteBlock != null) {
+ fail("Tried to access a block that doesn't exist - this should raise an Exception!");
+ }
+ }
+
+ public final void testReadingDescriptor() {
+ File cobFile = new File(Constants.VALID_LOCATION_1 +
+ Constants.AVAILABLE_VALID_WEBMAIL1343_BLOCKPATH + "/" + Constants.AVAILABLE_VALID_WEBMAIL1343_BLOCKFILE);
+ ZipInputStream zipStream = null;
+
+ try {
+ zipStream = new ZipInputStream(new FileInputStream(cobFile));
+ } catch (FileNotFoundException e) {
+ fail("testReadingDescriptor() test is broken - file " + cobFile.getAbsolutePath() + " not found!");
+ }
+
+ try {
+ InputStream is = LocatorUtils.getDescriptorInputStream(zipStream);
+ } catch (Exception e) {
+ fail("The COB " + cobFile.getAbsolutePath() + " should contain " + Locator.COB_INF_BLOCK_XML +
+ " but it wasn't found. " + e.getMessage());
+ }
+
+ }
+
+ public final void testReadingUnavailableCOB() {
+ File cobFile = new File("invalid");
+ ZipInputStream zipStream = null;
+
+ try {
+ zipStream = new ZipInputStream(new FileInputStream(cobFile));
+ fail("testReadingDescriptor test is broken - file " + cobFile.getAbsolutePath() + " not found!");
+ } catch (FileNotFoundException e) {
+ }
+
+ }
+
+ public final void testReadingCOBWithoutDescriptor() {
+ File cobFile = new File(Constants.VALID_LOCATION_1 +
+ Constants.UNAVAILABLE_INVALID_BLOCKPATH + "/" + Constants.UNAVAILABLE_INVALID_BLOCKFILE);
+ ZipInputStream zipStream = null;
+
+ try {
+ zipStream = new ZipInputStream(new FileInputStream(cobFile));
+ } catch (FileNotFoundException e) {
+ fail("testReadingDescriptor() test is broken - file " + cobFile.getAbsolutePath() + " not found!");
+ }
+
+ try {
+ InputStream is = LocatorUtils.getDescriptorInputStream(zipStream);
+ fail("The COB " + cobFile.getAbsolutePath() + " doesn't contain the file " + cobFile.getAbsolutePath() + " and " +
+ "this method should raise an exeption");
+ } catch (Exception e) {
+ // test passed
+ }
+ }
+
+ public final void testFileLookupWithNullArguments() {
+ try {
+ File x = LocatorUtils.getCobAsFile(null, null);
+ fail("If null arguments are passed, an exception has to be thrown.");
+ } catch(FileNotFoundException fnfe) {
+ fail("Wrong exception thrown!");
+ } catch(IllegalArgumentException iae) {
+ // test passed
+ }
+ }
+
+ public final void testSuccessFullFileLookup() {
+ try {
+ File cobFile = new File(Constants.VALID_LOCATION_1 + Constants.AVAILABLE_VALID_WEBMAIL1343_BLOCKPATH + "/" +
+ Constants.AVAILABLE_VALID_WEBMAIL1343_BLOCKFILE);
+ File resultFile = LocatorUtils.getCobAsFile(new File(Constants.VALID_LOCATION_1), Constants.AVAILABLE_VALID_WEBMAIL1343_BLOCKPATH);
+ assertEquals(cobFile.getAbsolutePath(), resultFile.getAbsolutePath());
+ } catch(FileNotFoundException fnfe) {
+ fail("The block " + Constants.AVAILABLE_VALID_WEBMAIL1343_BLOCKPATH + " should be found in repository " + Constants.VALID_LOCATION_1);
+ }
+ }
+
+ public final void testUnavailableFileLookups() {
+ // unavailable block
+ try {
+ File x = LocatorUtils.getCobAsFile(new File(Constants.VALID_LOCATION_1), Constants.AVAILABLE_INVALID_SAMPLE_BLOCKID);
+ fail("If a block isn't found in a valid repository, a FileNotFoundException has to be thrown");
+ } catch(FileNotFoundException fnfe) {
+ // test passed
+ }
+ // unavailable repository
+ try {
+ File x = LocatorUtils.getCobAsFile(new File(Constants.INVALID_LOCATION), Constants.AVAILABLE_VALID_WEBMAIL1343_BLOCKPATH);
+ fail("A non-existing repository can't return blocks!");
+ } catch(FileNotFoundException fnfe) {
+ // test passed
+ }
+ }
+
+
+}
Added: cocoon/whiteboard/block-deployer/test/junit/org/apache/cocoon/blockdeployer/utils/FilesystemUtilsTest.java
==============================================================================
--- (empty file)
+++ cocoon/whiteboard/block-deployer/test/junit/org/apache/cocoon/blockdeployer/utils/FilesystemUtilsTest.java Sat Sep 25 02:43:04 2004
@@ -0,0 +1,123 @@
+/*
+ * Copyright 2004 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.cocoon.blockdeployer.utils;
+
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileNotFoundException;
+import java.io.InputStream;
+import java.util.zip.ZipInputStream;
+
+import org.apache.cocoon.blockdeployer.Constants;
+import org.apache.cocoon.blockdeployer.repository.Locator;
+
+import junit.framework.TestCase;
+
+/**
+ * @since 17.08.2004
+ */
+public class FilesystemUtilsTest extends TestCase {
+ public final void testReadingDescriptor() {
+ File cobFile = new File(Constants.VALID_LOCATION_1 +
+ Constants.AVAILABLE_VALID_WEBMAIL1343_BLOCKPATH + "/" + Constants.AVAILABLE_VALID_WEBMAIL1343_BLOCKFILE);
+ ZipInputStream zipStream = null;
+
+ try {
+ zipStream = new ZipInputStream(new FileInputStream(cobFile));
+ } catch (FileNotFoundException e) {
+ fail("testReadingDescriptor() test is broken - file " + cobFile.getAbsolutePath() + " not found!");
+ }
+
+ try {
+ InputStream is = LocatorUtils.getDescriptorInputStream(zipStream);
+ } catch (Exception e) {
+ fail("The COB " + cobFile.getAbsolutePath() + " should contain " + Locator.COB_INF_BLOCK_XML +
+ " but it wasn't found. " + e.getMessage());
+ }
+
+ }
+
+ public final void testReadingUnavailableCOB() {
+ File cobFile = new File("invalid");
+ ZipInputStream zipStream = null;
+
+ try {
+ zipStream = new ZipInputStream(new FileInputStream(cobFile));
+ fail("testReadingDescriptor test is broken - file " + cobFile.getAbsolutePath() + " not found!");
+ } catch (FileNotFoundException e) {
+ }
+
+ }
+
+ public final void testReadingCOBWithoutDescriptor() {
+ File cobFile = new File(Constants.VALID_LOCATION_1 +
+ Constants.UNAVAILABLE_INVALID_BLOCKPATH + "/" + Constants.UNAVAILABLE_INVALID_BLOCKFILE);
+ ZipInputStream zipStream = null;
+
+ try {
+ zipStream = new ZipInputStream(new FileInputStream(cobFile));
+ } catch (FileNotFoundException e) {
+ fail("testReadingDescriptor() test is broken - file " + cobFile.getAbsolutePath() + " not found!");
+ }
+
+ try {
+ InputStream is = LocatorUtils.getDescriptorInputStream(zipStream);
+ fail("The COB " + cobFile.getAbsolutePath() + " doesn't contain the file " + cobFile.getAbsolutePath() + " and " +
+ "this method should raise an exeption");
+ } catch (Exception e) {
+ // test passed
+ }
+ }
+
+ public final void testFileLookupWithNullArguments() {
+ try {
+ File x = LocatorUtils.getCobAsFile(null, null);
+ fail("If null arguments are passed, an exception has to be thrown.");
+ } catch(FileNotFoundException fnfe) {
+ fail("Wrong exception thrown!");
+ } catch(IllegalArgumentException iae) {
+ // test passed
+ }
+ }
+
+ public final void testSuccessFullFileLookup() {
+ try {
+ File cobFile = new File(Constants.VALID_LOCATION_1 + Constants.AVAILABLE_VALID_WEBMAIL1343_BLOCKPATH + "/" +
+ Constants.AVAILABLE_VALID_WEBMAIL1343_BLOCKFILE);
+ File resultFile = LocatorUtils.getCobAsFile(new File(Constants.VALID_LOCATION_1), Constants.AVAILABLE_VALID_WEBMAIL1343_BLOCKPATH);
+ assertEquals(cobFile.getAbsolutePath(), resultFile.getAbsolutePath());
+ } catch(FileNotFoundException fnfe) {
+ fail("The block " + Constants.AVAILABLE_VALID_WEBMAIL1343_BLOCKPATH + " should be found in repository " + Constants.VALID_LOCATION_1);
+ }
+ }
+
+ public final void testUnavailableFileLookups() {
+ // unavailable block
+ try {
+ File x = LocatorUtils.getCobAsFile(new File(Constants.VALID_LOCATION_1), Constants.AVAILABLE_INVALID_SAMPLE_BLOCKID);
+ fail("If a block isn't found in a valid repository, a FileNotFoundException has to be thrown");
+ } catch(FileNotFoundException fnfe) {
+ // test passed
+ }
+ // unavailable repository
+ try {
+ File x = LocatorUtils.getCobAsFile(new File(Constants.INVALID_LOCATION), Constants.AVAILABLE_VALID_WEBMAIL1343_BLOCKPATH);
+ fail("A non-existing repository can't return blocks!");
+ } catch(FileNotFoundException fnfe) {
+ // test passed
+ }
+ }
+}
Added: cocoon/whiteboard/block-deployer/test/sample-repositories/rep1/mycompany.com/invalid/1.0.0/invalid.cob
==============================================================================
Binary file. No diff available.
Added: cocoon/whiteboard/block-deployer/test/sample-repositories/rep1/mycompany.com/webmail/1.3.43/webmail-1.3.43.cob
==============================================================================
Binary file. No diff available.
Added: cocoon/whiteboard/block-deployer/tools/lib/asm-1.4.3.jar
==============================================================================
Binary file. No diff available.
Added: cocoon/whiteboard/block-deployer/tools/lib/cglib-2.0.1.jar
==============================================================================
Binary file. No diff available.
Added: cocoon/whiteboard/block-deployer/tools/lib/easymock-1.1.jar
==============================================================================
Binary file. No diff available.
Added: cocoon/whiteboard/block-deployer/tools/lib/easymockclassextension-1.1.jar
==============================================================================
Binary file. No diff available.
Added: cocoon/whiteboard/block-deployer/tools/lib/junit-3.8.1.jar
==============================================================================
Binary file. No diff available.