jackrabbit-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From ju...@apache.org
Subject svn commit: r691635 [1/2] - in /jackrabbit/sandbox/jackrabbit-amazon: ./ applications/ applications/test/ applications/test/repository/ applications/test/repository/namespaces/ applications/test/repository/nodetypes/ applications/test/workspaces/ appli...
Date Wed, 03 Sep 2008 15:29:09 GMT
Author: jukka
Date: Wed Sep  3 08:29:07 2008
New Revision: 691635

URL: http://svn.apache.org/viewvc?rev=691635&view=rev
Log:
JCR-1509: [SUBMISSION] Amazon S3 Persistence Manager Project

Committed submission by Alexander Klimetschek.

Added:
    jackrabbit/sandbox/jackrabbit-amazon/
    jackrabbit/sandbox/jackrabbit-amazon/LICENSE.txt   (with props)
    jackrabbit/sandbox/jackrabbit-amazon/NOTICE.txt   (with props)
    jackrabbit/sandbox/jackrabbit-amazon/README.txt   (with props)
    jackrabbit/sandbox/jackrabbit-amazon/TODO.txt   (with props)
    jackrabbit/sandbox/jackrabbit-amazon/applications/
    jackrabbit/sandbox/jackrabbit-amazon/applications/test/
    jackrabbit/sandbox/jackrabbit-amazon/applications/test/jaas.config   (with props)
    jackrabbit/sandbox/jackrabbit-amazon/applications/test/jets3t.properties   (with props)
    jackrabbit/sandbox/jackrabbit-amazon/applications/test/log4j.properties   (with props)
    jackrabbit/sandbox/jackrabbit-amazon/applications/test/repository/
    jackrabbit/sandbox/jackrabbit-amazon/applications/test/repository.xml   (with props)
    jackrabbit/sandbox/jackrabbit-amazon/applications/test/repository/namespaces/
    jackrabbit/sandbox/jackrabbit-amazon/applications/test/repository/namespaces/ns_reg.properties.install
    jackrabbit/sandbox/jackrabbit-amazon/applications/test/repository/nodetypes/
    jackrabbit/sandbox/jackrabbit-amazon/applications/test/repository/nodetypes/custom_nodetypes.xml.install
    jackrabbit/sandbox/jackrabbit-amazon/applications/test/repositoryStubImpl.properties   (with props)
    jackrabbit/sandbox/jackrabbit-amazon/applications/test/workspaces/
    jackrabbit/sandbox/jackrabbit-amazon/applications/test/workspaces/default/
    jackrabbit/sandbox/jackrabbit-amazon/applications/test/workspaces/default/workspace.xml   (with props)
    jackrabbit/sandbox/jackrabbit-amazon/applications/test/workspaces/test/
    jackrabbit/sandbox/jackrabbit-amazon/applications/test/workspaces/test/workspace.xml   (with props)
    jackrabbit/sandbox/jackrabbit-amazon/aws.properties.template
    jackrabbit/sandbox/jackrabbit-amazon/build.xml   (with props)
    jackrabbit/sandbox/jackrabbit-amazon/patches-for-1.3/
    jackrabbit/sandbox/jackrabbit-amazon/patches-for-1.3/jackrabbit-core.create-test-jars.patch   (with props)
    jackrabbit/sandbox/jackrabbit-amazon/patches-for-1.3/jackrabbit-jcr-commons.support-sysprops-in-config-files-dirty.patch   (with props)
    jackrabbit/sandbox/jackrabbit-amazon/pom.xml   (with props)
    jackrabbit/sandbox/jackrabbit-amazon/src/
    jackrabbit/sandbox/jackrabbit-amazon/src/main/
    jackrabbit/sandbox/jackrabbit-amazon/src/main/java/
    jackrabbit/sandbox/jackrabbit-amazon/src/main/java/org/
    jackrabbit/sandbox/jackrabbit-amazon/src/main/java/org/apache/
    jackrabbit/sandbox/jackrabbit-amazon/src/main/java/org/apache/jackrabbit/
    jackrabbit/sandbox/jackrabbit-amazon/src/main/java/org/apache/jackrabbit/fs/
    jackrabbit/sandbox/jackrabbit-amazon/src/main/java/org/apache/jackrabbit/fs/amazon/
    jackrabbit/sandbox/jackrabbit-amazon/src/main/java/org/apache/jackrabbit/fs/amazon/AmazonS3FileSystem.java   (with props)
    jackrabbit/sandbox/jackrabbit-amazon/src/main/java/org/apache/jackrabbit/persistence/
    jackrabbit/sandbox/jackrabbit-amazon/src/main/java/org/apache/jackrabbit/persistence/amazon/
    jackrabbit/sandbox/jackrabbit-amazon/src/main/java/org/apache/jackrabbit/persistence/amazon/AmazonS3BundlePersistenceManager.java   (with props)
    jackrabbit/sandbox/jackrabbit-amazon/src/main/java/org/apache/jackrabbit/persistence/amazon/AmazonS3PersistenceManager.java   (with props)
    jackrabbit/sandbox/jackrabbit-amazon/src/main/java/org/apache/jackrabbit/persistence/util/
    jackrabbit/sandbox/jackrabbit-amazon/src/main/java/org/apache/jackrabbit/persistence/util/AmazonS3Exception.java   (with props)
    jackrabbit/sandbox/jackrabbit-amazon/src/test/
    jackrabbit/sandbox/jackrabbit-amazon/src/test/java/
    jackrabbit/sandbox/jackrabbit-amazon/src/test/java/org/
    jackrabbit/sandbox/jackrabbit-amazon/src/test/java/org/apache/
    jackrabbit/sandbox/jackrabbit-amazon/src/test/java/org/apache/jackrabbit/
    jackrabbit/sandbox/jackrabbit-amazon/src/test/java/org/apache/jackrabbit/test/
    jackrabbit/sandbox/jackrabbit-amazon/src/test/java/org/apache/jackrabbit/test/amazon/
    jackrabbit/sandbox/jackrabbit-amazon/src/test/java/org/apache/jackrabbit/test/amazon/init/
    jackrabbit/sandbox/jackrabbit-amazon/src/test/java/org/apache/jackrabbit/test/amazon/init/TestAll.java   (with props)
    jackrabbit/sandbox/jackrabbit-amazon/src/test/java/org/apache/jackrabbit/test/amazon/tck/
    jackrabbit/sandbox/jackrabbit-amazon/src/test/java/org/apache/jackrabbit/test/amazon/tck/TestAll.java   (with props)

Added: jackrabbit/sandbox/jackrabbit-amazon/LICENSE.txt
URL: http://svn.apache.org/viewvc/jackrabbit/sandbox/jackrabbit-amazon/LICENSE.txt?rev=691635&view=auto
==============================================================================
--- jackrabbit/sandbox/jackrabbit-amazon/LICENSE.txt (added)
+++ jackrabbit/sandbox/jackrabbit-amazon/LICENSE.txt Wed Sep  3 08:29:07 2008
@@ -0,0 +1,239 @@
+
+                                 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.
+
+
+
+APACHE JACKRABBIT SUBCOMPONENTS:
+
+Apache Jackrabbit includes an XPath parser subcomponent with separate
+copyright notices and license terms. Your use of the source code for
+this subcomponent is subject to the terms and conditions of the
+following licenses.
+
+<!--
+ * Copyright (c) 2002 World Wide Web Consortium,
+ * (Massachusetts Institute of Technology, Institut National de
+ * Recherche en Informatique et en Automatique, Keio University). All
+ * Rights Reserved. This program is distributed under the W3C's Software
+ * Intellectual Property License. This program is distributed in the
+ * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+ * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+ * PURPOSE.
+ * See W3C License http://www.w3.org/Consortium/Legal/ for more details.
+-->
+
+<!--
+Copyright (c) 2002 W3C(r) (http://www.w3.org/) (MIT (http://www.lcs.mit.edu/), 
+INRIA (http://www.inria.fr/), Keio (http://www.keio.ac.jp/)), 
+All Rights Reserved.
+See http://www.w3.org/Consortium/Legal/ipr-notice-20000612#Copyright.
+W3C liability 
+(http://www.w3.org/Consortium/Legal/ipr-notice-20000612#Legal_Disclaimer), 
+trademark 
+(http://www.w3.org/Consortium/Legal/ipr-notice-20000612#W3C_Trademarks), 
+document use 
+(http://www.w3.org/Consortium/Legal/copyright-documents-19990405), 
+and software licensing rules 
+(http://www.w3.org/Consortium/Legal/copyright-software-19980720) 
+apply.
+-->

Propchange: jackrabbit/sandbox/jackrabbit-amazon/LICENSE.txt
------------------------------------------------------------------------------
    svn:eol-style = native

Added: jackrabbit/sandbox/jackrabbit-amazon/NOTICE.txt
URL: http://svn.apache.org/viewvc/jackrabbit/sandbox/jackrabbit-amazon/NOTICE.txt?rev=691635&view=auto
==============================================================================
--- jackrabbit/sandbox/jackrabbit-amazon/NOTICE.txt (added)
+++ jackrabbit/sandbox/jackrabbit-amazon/NOTICE.txt Wed Sep  3 08:29:07 2008
@@ -0,0 +1,8 @@
+Apache Jackrabbit
+Copyright 2007 The Apache Software Foundation
+
+This product includes software developed at
+The Apache Software Foundation (http://www.apache.org/).
+
+Based on source code originally developed by
+Day Software (http://www.day.com/).

Propchange: jackrabbit/sandbox/jackrabbit-amazon/NOTICE.txt
------------------------------------------------------------------------------
    svn:eol-style = native

Added: jackrabbit/sandbox/jackrabbit-amazon/README.txt
URL: http://svn.apache.org/viewvc/jackrabbit/sandbox/jackrabbit-amazon/README.txt?rev=691635&view=auto
==============================================================================
--- jackrabbit/sandbox/jackrabbit-amazon/README.txt (added)
+++ jackrabbit/sandbox/jackrabbit-amazon/README.txt Wed Sep  3 08:29:07 2008
@@ -0,0 +1,141 @@
+=================================================================
+Welcome to Jackrabbit persistence for Amazon Webservices (ie. S3)
+=================================================================
+
+This module contains various persistence options for using
+Amazon Webservices as backend for Jackrabbit / JCR. Amazon has
+two persistence services: S3 (public) and SimpleDB (still beta).
+The following options are available/ideas:
+
+- (1) persistence managers that connects to S3
+      (normal + bundle, in work, probably not very efficient)
+      
+- (2) persistence manager that connects to SimpleDB
+      (NOT feasible)
+      
+- (3) SPI implementation that connects to S3
+      (not implemented, very complicated, probably more efficient)
+      
+See details below and also TODO.txt
+
+
+Installing / Testing
+====================
+
+This needs a patched Jackrabbit 1.3.x version. The patches can
+be found in the directory "patches-for-1.3". One patch will modify
+the pom of jackrabbit-core to generated the jackrabbit test jar
+for reuse in this project. To build that customized version, you need
+to do the following steps:
+
+1) svn co http://svn.apache.org/repos/asf/jackrabbit/branches/1.3 jackrabbit-1.3
+2) cd jackrabbit-1.3
+3) apply all patches from the "patches-for-1.3" directory:
+   patch -p0 < %JR-AMAZON-PATH%/patches-for-1.3/%PATCH%.patch
+4) mvn install
+5) cd %JR-AMAZON-PATH%
+6) change jackrabbit version number in pom.xml to the one you just built
+   (eg. project/parent/version = 1.3.4)
+7) cp aws.properties.template aws.properties
+8) enter your credentials in aws.properties
+9) mvn test
+
+For debugging, you can change the logging in applications/test/log4j.properties
+and set up proxying (for monitoring the traffic with eg. tcp mon) in
+applications/test/jets3t.properties.
+
+
+Details about Implementations
+=============================
+
+(1) org.apache.jackrabbit.persistence.amazon.AmazonS3PersistenceManager
+
+http://www.amazon.com/s3
+
+Stores JCR Nodes and Properties inside S3 Objects. Uses UUID for Nodes and
+UUID/Name for Properties as Object names. Node references are stored
+via references/UUID.
+
+Configuration parameters:
+
+accessKey
+    Amazon AWS access key (aka account user id) [required]
+
+secretKey
+    Amazon AWS secret key (aka account password) [required]
+    
+bucket
+    Name of the S3 bucket to use [optional, default uses accessKey]
+    Note that bucket names are global, so using your accessKey is
+    recommended to prevent conflicts with other AWS users. 
+    
+objectPrefix
+    Prefix used for all object names [optional, default is ""]
+    Should include the workspace name ("${wsp.name}" or "version" for
+    the versioning PM) to put multiple workspaces into one bucket.
+
+Example XML Config:
+
+<PersistenceManager class="org.apache.jackrabbit.persistence.amazon.AmazonS3PersistenceManager">
+    <param name="accessKey"    value="abcde01234"/>
+    <param name="secretKey"    value="topsecret"/>
+    <param name="bucket"       value="abcde01234.jcrstore"/>
+    <param name="objectPrefix" value="${wsp.name}/"/>
+</PersistenceManager>
+
+-----
+
+(2) AmazonSimpleDBPersistenceManager
+
+This is *not* feasible because of the restrictions that are applied
+to SimpleDB. An item can only have up to 256 attributes, each attribute
+can only contain a string value and that one can only have 1024 chars.
+See this link for more information:
+
+http://docs.amazonwebservices.com/AmazonSimpleDB/2007-11-07/DeveloperGuide/SDB_API_PutAttributes.html
+
+-----
+
+(3) org.apache.jackrabbit.spi2s3
+
+TODO
+
+lots of work...
+
+
+About
+=====
+
+It was originally written by Alexander Klimetschek
+(alexander.klimetschek at googlemail dot com) in 2008.
+
+See the Apache Jackrabbit web site (http://jackrabbit.apache.org/)
+for documentation and other information. You are welcome to join the
+Jackrabbit mailing lists (http://jackrabbit.apache.org/mail-lists.html)
+to discuss this component and to use the Jackrabbit issue tracker
+(http://issues.apache.org/jira/browse/JCR) to report issues or request
+new features.
+
+Apache Jackrabbit is a project of the Apache Software Foundation
+(http://www.apache.org).
+
+
+License (see also LICENSE.txt)
+==============================
+
+Collective work: Copyright 2008 The Apache Software Foundation.
+
+Licensed to the Apache Software Foundation (ASF) under one or more
+contributor license agreements.  See the NOTICE file distributed with
+this work for additional information regarding copyright ownership.
+The ASF licenses this file to You under the Apache License, Version 2.0
+(the "License"); you may not use this file except in compliance with
+the License.  You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.

Propchange: jackrabbit/sandbox/jackrabbit-amazon/README.txt
------------------------------------------------------------------------------
    svn:eol-style = native

Added: jackrabbit/sandbox/jackrabbit-amazon/TODO.txt
URL: http://svn.apache.org/viewvc/jackrabbit/sandbox/jackrabbit-amazon/TODO.txt?rev=691635&view=auto
==============================================================================
--- jackrabbit/sandbox/jackrabbit-amazon/TODO.txt (added)
+++ jackrabbit/sandbox/jackrabbit-amazon/TODO.txt Wed Sep  3 08:29:07 2008
@@ -0,0 +1,10 @@
+See also README.txt.
+
+- fix S3 PM/Bundle PM (pass all JCR API tests):
+  Problem: HTTP calls to S3 hang every now and then forever; need a timeout and a retry,
+  but I couldn't quickly figure out how (needs tweaking of jets3t lib + apache commons
+  http client below)
+
+- FileSystem implementation for S3 (o.a.j.fs.amazon.AmazonS3FileSystem)
+- DataStore for S3 (Jackrabbit 1.4): http://wiki.apache.org/jackrabbit/DataStore
+- SPI implementation S3 (how much effort is needed?)

Propchange: jackrabbit/sandbox/jackrabbit-amazon/TODO.txt
------------------------------------------------------------------------------
    svn:eol-style = native

Added: jackrabbit/sandbox/jackrabbit-amazon/applications/test/jaas.config
URL: http://svn.apache.org/viewvc/jackrabbit/sandbox/jackrabbit-amazon/applications/test/jaas.config?rev=691635&view=auto
==============================================================================
--- jackrabbit/sandbox/jackrabbit-amazon/applications/test/jaas.config (added)
+++ jackrabbit/sandbox/jackrabbit-amazon/applications/test/jaas.config Wed Sep  3 08:29:07 2008
@@ -0,0 +1,3 @@
+Jackrabbit {
+  org.apache.jackrabbit.core.security.SimpleLoginModule required anonymousId="anonymous";
+};
\ No newline at end of file

Propchange: jackrabbit/sandbox/jackrabbit-amazon/applications/test/jaas.config
------------------------------------------------------------------------------
    svn:eol-style = native

Added: jackrabbit/sandbox/jackrabbit-amazon/applications/test/jets3t.properties
URL: http://svn.apache.org/viewvc/jackrabbit/sandbox/jackrabbit-amazon/applications/test/jets3t.properties?rev=691635&view=auto
==============================================================================
--- jackrabbit/sandbox/jackrabbit-amazon/applications/test/jets3t.properties (added)
+++ jackrabbit/sandbox/jackrabbit-amazon/applications/test/jets3t.properties Wed Sep  3 08:29:07 2008
@@ -0,0 +1,4 @@
+# debugging setup for TCPMonitor
+#s3service.end-point-host=localhost
+#s3service.https-only=false
+#httpclient.max-connections=1
\ No newline at end of file

Propchange: jackrabbit/sandbox/jackrabbit-amazon/applications/test/jets3t.properties
------------------------------------------------------------------------------
    svn:eol-style = native

Added: jackrabbit/sandbox/jackrabbit-amazon/applications/test/log4j.properties
URL: http://svn.apache.org/viewvc/jackrabbit/sandbox/jackrabbit-amazon/applications/test/log4j.properties?rev=691635&view=auto
==============================================================================
--- jackrabbit/sandbox/jackrabbit-amazon/applications/test/log4j.properties (added)
+++ jackrabbit/sandbox/jackrabbit-amazon/applications/test/log4j.properties Wed Sep  3 08:29:07 2008
@@ -0,0 +1,39 @@
+#  Licensed to the Apache Software Foundation (ASF) under one or more
+#  contributor license agreements.  See the NOTICE file distributed with
+#  this work for additional information regarding copyright ownership.
+#  The ASF licenses this file to You under the Apache License, Version 2.0
+#  (the "License"); you may not use this file except in compliance with
+#  the License.  You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+#  Unless required by applicable law or agreed to in writing, software
+#  distributed under the License is distributed on an "AS IS" BASIS,
+#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+#  See the License for the specific language governing permissions and
+#  limitations under the License.
+
+# Set root logger level to DEBUG and its only appender to A1.
+log4j.rootLogger=INFO, file
+#log4j.rootLogger=DEBUG, stdout, file
+#log4j.rootLogger=ERROR, stdout, file
+
+log4j.logger.org.apache.jackrabbit.test=DEBUG
+log4j.logger.org.jets3t.service=DEBUG
+log4j.logger.org.apache.jackrabbit.persistence.amazon=DEBUG, stdout, file
+log4j.logger.org.apache.jackrabbit.fs.amazon=DEBUG, stdout, file
+
+# 'stdout' is set to be a ConsoleAppender.
+log4j.appender.stdout=org.apache.log4j.ConsoleAppender
+
+# 'stdout' uses PatternLayout
+log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
+log4j.appender.stdout.layout.ConversionPattern=%d{dd.MM.yyyy HH:mm:ss} *%-5p* [%t] %c{1}: %m (%F, line %L)\n
+
+# 'file' is set to be a FileAppender.
+log4j.appender.file=org.apache.log4j.FileAppender
+log4j.appender.file.File=jcr.log
+
+# 'file' uses PatternLayout.
+log4j.appender.file.layout=org.apache.log4j.PatternLayout
+log4j.appender.file.layout.ConversionPattern=%d{dd.MM.yyyy HH:mm:ss} *%-5p* [%t] %c{1}: %m (%F, line %L)\n

Propchange: jackrabbit/sandbox/jackrabbit-amazon/applications/test/log4j.properties
------------------------------------------------------------------------------
    svn:eol-style = native

Added: jackrabbit/sandbox/jackrabbit-amazon/applications/test/repository.xml
URL: http://svn.apache.org/viewvc/jackrabbit/sandbox/jackrabbit-amazon/applications/test/repository.xml?rev=691635&view=auto
==============================================================================
--- jackrabbit/sandbox/jackrabbit-amazon/applications/test/repository.xml (added)
+++ jackrabbit/sandbox/jackrabbit-amazon/applications/test/repository.xml Wed Sep  3 08:29:07 2008
@@ -0,0 +1,123 @@
+<?xml version="1.0"?>
+<!--
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+  -->
+<!DOCTYPE Repository PUBLIC "-//The Apache Software Foundation//DTD Jackrabbit 1.2//EN"
+                            "http://jackrabbit.apache.org/dtd/repository-1.2.dtd">
+<!-- Example Repository Configuration File -->
+<Repository>
+    <!--
+        virtual file system where the repository stores global state
+        (e.g. registered namespaces, custom node types, etc.)
+    -->
+    <FileSystem class="org.apache.jackrabbit.core.fs.local.LocalFileSystem">
+        <param name="path" value="${rep.home}/repository"/>
+    </FileSystem>
+
+    <!--
+        security configuration
+    -->
+    <Security appName="Jackrabbit">
+        <!--
+            access manager:
+            class: FQN of class implementing the AccessManager interface
+        -->
+        <AccessManager class="org.apache.jackrabbit.core.security.SimpleAccessManager">
+            <!-- <param name="config" value="${rep.home}/access.xml"/> -->
+        </AccessManager>
+
+        <LoginModule class="org.apache.jackrabbit.core.security.SimpleLoginModule">
+           <!-- anonymous user name ('anonymous' is the default value) -->
+           <param name="anonymousId" value="anonymous"/>
+           <!--
+              default user name to be used instead of the anonymous user
+              when no login credentials are provided (unset by default)
+           -->
+           <!-- <param name="defaultUserId" value="superuser"/> -->
+        </LoginModule>
+    </Security>
+
+    <!--
+        location of workspaces root directory and name of default workspace
+    -->
+    <Workspaces rootPath="${rep.home}/workspaces" defaultWorkspace="default"/>
+    <!--
+        workspace configuration template:
+        used to create the initial workspace if there's no workspace yet
+    -->
+    <Workspace name="${wsp.name}">
+        <!--
+            virtual file system of the workspace:
+            class: FQN of class implementing the FileSystem interface
+        -->
+        <FileSystem class="org.apache.jackrabbit.core.fs.local.LocalFileSystem">
+            <param name="path" value="${wsp.home}"/>
+        </FileSystem>
+        <!--
+            persistence manager of the workspace:
+            class: FQN of class implementing the PersistenceManager interface
+        -->
+        <!-- PersistenceManager class="org.apache.jackrabbit.persistence.amazon.AmazonS3PersistenceManager"-->
+        <PersistenceManager class="org.apache.jackrabbit.persistence.amazon.AmazonS3BundlePersistenceManager">
+            <param name="accessKey"    value="${aws.accessKey}"/>
+            <param name="secretKey"    value="${aws.secretKey}"/>
+            <param name="bucket"       value="${aws.accessKey}.jcrstore"/>
+		    <param name="objectPrefix" value="${wsp.name}/"/>
+		</PersistenceManager>
+        <!--
+            Search index and the file system it uses.
+            class: FQN of class implementing the QueryHandler interface
+        -->
+        <SearchIndex class="org.apache.jackrabbit.core.query.lucene.SearchIndex">
+            <param name="path" value="${wsp.home}/index"/>
+        </SearchIndex>
+    </Workspace>
+
+    <!--
+        Configures the versioning
+    -->
+    <Versioning rootPath="${rep.home}/version">
+        <!--
+            Configures the filesystem to use for versioning for the respective
+            persistence manager
+        -->
+        <FileSystem class="org.apache.jackrabbit.core.fs.local.LocalFileSystem">
+            <param name="path" value="${rep.home}/version" />
+        </FileSystem>
+
+        <!--
+            Configures the persistence manager to be used for persisting version state.
+            Please note that the current versioning implementation is based on
+            a 'normal' persistence manager, but this could change in future
+            implementations.
+        -->
+        <!-- PersistenceManager class="org.apache.jackrabbit.persistence.amazon.AmazonS3PersistenceManager"-->
+        <PersistenceManager class="org.apache.jackrabbit.persistence.amazon.AmazonS3BundlePersistenceManager">
+            <param name="accessKey"    value="${aws.accessKey}"/>
+            <param name="secretKey"    value="${aws.secretKey}"/>
+            <param name="bucket"       value="${aws.accessKey}.jcrstore"/>
+            <param name="objectPrefix" value="version/"/>
+        </PersistenceManager>
+    </Versioning>
+
+    <!--
+        Search index for content that is shared repository wide
+        (/jcr:system tree, contains mainly versions)
+    -->
+    <SearchIndex class="org.apache.jackrabbit.core.query.lucene.SearchIndex">
+        <param name="path" value="${rep.home}/repository/index"/>
+    </SearchIndex>
+</Repository>

Propchange: jackrabbit/sandbox/jackrabbit-amazon/applications/test/repository.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Added: jackrabbit/sandbox/jackrabbit-amazon/applications/test/repository/namespaces/ns_reg.properties.install
URL: http://svn.apache.org/viewvc/jackrabbit/sandbox/jackrabbit-amazon/applications/test/repository/namespaces/ns_reg.properties.install?rev=691635&view=auto
==============================================================================
--- jackrabbit/sandbox/jackrabbit-amazon/applications/test/repository/namespaces/ns_reg.properties.install (added)
+++ jackrabbit/sandbox/jackrabbit-amazon/applications/test/repository/namespaces/ns_reg.properties.install Wed Sep  3 08:29:07 2008
@@ -0,0 +1,26 @@
+#  Licensed to the Apache Software Foundation (ASF) under one or more
+#  contributor license agreements.  See the NOTICE file distributed with
+#  this work for additional information regarding copyright ownership.
+#  The ASF licenses this file to You under the Apache License, Version 2.0
+#  (the "License"); you may not use this file except in compliance with
+#  the License.  You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+#  Unless required by applicable law or agreed to in writing, software
+#  distributed under the License is distributed on an "AS IS" BASIS,
+#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+#  See the License for the specific language governing permissions and
+#  limitations under the License.
+
+#Tue Jan 17 18:27:06 CET 2006
+xs=http\://www.w3.org/2001/XMLSchema
+xml=http\://www.w3.org/XML/1998/namespace
+fn=http\://www.w3.org/2004/10/xpath-functions
+jcr=http\://www.jcp.org/jcr/1.0
+nt=http\://www.jcp.org/jcr/nt/1.0
+sv=http\://www.jcp.org/jcr/sv/1.0
+mix=http\://www.jcp.org/jcr/mix/1.0
+rep=internal
+test=http\://www.apache.org/jackrabbit/test
+=

Added: jackrabbit/sandbox/jackrabbit-amazon/applications/test/repository/nodetypes/custom_nodetypes.xml.install
URL: http://svn.apache.org/viewvc/jackrabbit/sandbox/jackrabbit-amazon/applications/test/repository/nodetypes/custom_nodetypes.xml.install?rev=691635&view=auto
==============================================================================
--- jackrabbit/sandbox/jackrabbit-amazon/applications/test/repository/nodetypes/custom_nodetypes.xml.install (added)
+++ jackrabbit/sandbox/jackrabbit-amazon/applications/test/repository/nodetypes/custom_nodetypes.xml.install Wed Sep  3 08:29:07 2008
@@ -0,0 +1,257 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
+
+        http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+ -->
+<nodeTypes xmlns:nt="http://www.jcp.org/jcr/nt/1.0" xmlns:jcr="http://www.jcp.org/jcr/1.0" xmlns:rep="internal" xmlns:sv="http://www.jcp.org/jcr/sv/1.0" xmlns:test="http://www.apache.org/jackrabbit/test" xmlns:mix="http://www.jcp.org/jcr/mix/1.0">
+  <nodeType name="test:versionable" isMixin="false" hasOrderableChildNodes="false" primaryItemName="">
+    <supertypes>
+      <supertype>mix:versionable</supertype>
+      <supertype>nt:base</supertype>
+    </supertypes>
+    <propertyDefinition name="*" requiredType="undefined" autoCreated="false" mandatory="false" onParentVersion="COPY" protected="false" multiple="false" />
+    <propertyDefinition name="test:copyOnParentVersionProp" requiredType="String" autoCreated="false" mandatory="false" onParentVersion="COPY" protected="false" multiple="false" />
+    <propertyDefinition name="test:versionOnParentVersionProp" requiredType="String" autoCreated="false" mandatory="false" onParentVersion="VERSION" protected="false" multiple="false" />
+    <propertyDefinition name="test:initializeOnParentVersionProp" requiredType="String" autoCreated="false" mandatory="false" onParentVersion="INITIALIZE" protected="false" multiple="false" />
+    <propertyDefinition name="test:computeOnParentVersionProp" requiredType="String" autoCreated="false" mandatory="false" onParentVersion="COMPUTE" protected="false" multiple="false" />
+    <propertyDefinition name="test:ignoreOnParentVersionProp" requiredType="String" autoCreated="false" mandatory="false" onParentVersion="IGNORE" protected="false" multiple="false" />
+    <propertyDefinition name="test:abortOnParentVersionProp" requiredType="String" autoCreated="false" mandatory="false" onParentVersion="ABORT" protected="false" multiple="false" />
+    <childNodeDefinition name="*" defaultPrimaryType="test:versionable" autoCreated="false" mandatory="false" onParentVersion="COPY" protected="false" sameNameSiblings="false">
+      <requiredPrimaryTypes>
+        <requiredPrimaryType>nt:base</requiredPrimaryType>
+      </requiredPrimaryTypes>
+    </childNodeDefinition>
+    <childNodeDefinition name="test:copyOnParentVersion" defaultPrimaryType="nt:unstructured" autoCreated="false" mandatory="false" onParentVersion="COPY" protected="false" sameNameSiblings="false">
+      <requiredPrimaryTypes>
+        <requiredPrimaryType>nt:base</requiredPrimaryType>
+      </requiredPrimaryTypes>
+    </childNodeDefinition>
+    <childNodeDefinition name="test:versionOnParentVersion" defaultPrimaryType="nt:unstructured" autoCreated="false" mandatory="false" onParentVersion="VERSION" protected="false" sameNameSiblings="false">
+      <requiredPrimaryTypes>
+        <requiredPrimaryType>nt:base</requiredPrimaryType>
+      </requiredPrimaryTypes>
+    </childNodeDefinition>
+    <childNodeDefinition name="test:initializeOnParentVersion" defaultPrimaryType="nt:unstructured" autoCreated="false" mandatory="false" onParentVersion="INITIALIZE" protected="false" sameNameSiblings="false">
+      <requiredPrimaryTypes>
+        <requiredPrimaryType>nt:base</requiredPrimaryType>
+      </requiredPrimaryTypes>
+    </childNodeDefinition>
+    <childNodeDefinition name="test:computeOnParentVersion" defaultPrimaryType="nt:unstructured" autoCreated="false" mandatory="false" onParentVersion="COMPUTE" protected="false" sameNameSiblings="false">
+      <requiredPrimaryTypes>
+        <requiredPrimaryType>nt:base</requiredPrimaryType>
+      </requiredPrimaryTypes>
+    </childNodeDefinition>
+    <childNodeDefinition name="test:ignoreOnParentVersion" defaultPrimaryType="nt:unstructured" autoCreated="false" mandatory="false" onParentVersion="IGNORE" protected="false" sameNameSiblings="false">
+      <requiredPrimaryTypes>
+        <requiredPrimaryType>nt:base</requiredPrimaryType>
+      </requiredPrimaryTypes>
+    </childNodeDefinition>
+    <childNodeDefinition name="test:abortOnParentVersion" defaultPrimaryType="nt:unstructured" autoCreated="false" mandatory="false" onParentVersion="ABORT" protected="false" sameNameSiblings="false">
+      <requiredPrimaryTypes>
+        <requiredPrimaryType>nt:base</requiredPrimaryType>
+      </requiredPrimaryTypes>
+    </childNodeDefinition>
+  </nodeType>
+
+  <!-- Defines a referenceable nodetype for testing purposes -->
+  <nodeType name="test:refTargetNode" isMixin="false" hasOrderableChildNodes="false" primaryItemName="">
+    <supertypes>
+      <supertype>mix:versionable</supertype>
+      <supertype>nt:base</supertype>
+    </supertypes>
+    <propertyDefinition name="*" requiredType="undefined" autoCreated="false" mandatory="false" onParentVersion="COPY" protected="false" multiple="false"/>
+  </nodeType>
+
+  <!-- Defines a nodetype for tests of NodeType.canSetProperty(), Property.setValue() and Node.setProperty() -->
+  <nodeType name="test:canSetProperty" isMixin="false" hasOrderableChildNodes="false" primaryItemName="">
+    <supertypes>
+      <supertype>nt:base</supertype>
+    </supertypes>
+    <propertyDefinition name="String" requiredType="String" autoCreated="false" mandatory="false" onParentVersion="COPY" protected="false" multiple="false"/>
+    <propertyDefinition name="StringMultiple" requiredType="String" autoCreated="false" mandatory="false" onParentVersion="COPY" protected="false" multiple="true"/>
+    <propertyDefinition name="StringConstraints" requiredType="String" autoCreated="false" mandatory="false" onParentVersion="COPY" protected="false" multiple="false">
+      <valueConstraints>
+        <valueConstraint>abc</valueConstraint>
+        <valueConstraint>def</valueConstraint>
+        <valueConstraint>ghi</valueConstraint>
+      </valueConstraints>
+    </propertyDefinition>
+    <propertyDefinition name="StringMultipleConstraints" requiredType="String" autoCreated="false" mandatory="false" onParentVersion="COPY" protected="false" multiple="true">
+      <valueConstraints>
+        <valueConstraint>abc</valueConstraint>
+        <valueConstraint>def</valueConstraint>
+        <valueConstraint>ghi</valueConstraint>
+      </valueConstraints>
+    </propertyDefinition>
+    <propertyDefinition name="Binary" requiredType="Binary" autoCreated="false" mandatory="false" onParentVersion="COPY" protected="false" multiple="false"/>
+    <propertyDefinition name="BinaryMultiple" requiredType="Binary" autoCreated="false" mandatory="false" onParentVersion="COPY" protected="false" multiple="true"/>
+    <propertyDefinition name="BinaryConstraints" requiredType="Binary" autoCreated="false" mandatory="false" onParentVersion="COPY" protected="false" multiple="false">
+      <valueConstraints>
+        <valueConstraint>(,100)</valueConstraint>
+      </valueConstraints>
+    </propertyDefinition>
+    <propertyDefinition name="BinaryMultipleConstraints" requiredType="Binary" autoCreated="false" mandatory="false" onParentVersion="COPY" protected="false" multiple="true">
+      <valueConstraints>
+        <valueConstraint>(,100)</valueConstraint>
+      </valueConstraints>
+    </propertyDefinition>
+    <propertyDefinition name="Date" requiredType="Date" autoCreated="false" mandatory="false" onParentVersion="COPY" protected="false" multiple="false"/>
+    <propertyDefinition name="DateMultiple" requiredType="Date" autoCreated="false" mandatory="false" onParentVersion="COPY" protected="false" multiple="true"/>
+    <propertyDefinition name="DateConstraints" requiredType="Date" autoCreated="false" mandatory="false" onParentVersion="COPY" protected="false" multiple="false">
+      <valueConstraints>
+        <valueConstraint>(1974-02-15T00:00:00.000Z,)</valueConstraint>
+      </valueConstraints>
+    </propertyDefinition>
+    <propertyDefinition name="DateMultipleConstraints" requiredType="Date" autoCreated="false" mandatory="false" onParentVersion="COPY" protected="false" multiple="true">
+      <valueConstraints>
+        <valueConstraint>(,1974-02-15T00:00:00.000Z)</valueConstraint>
+      </valueConstraints>
+    </propertyDefinition>
+    <propertyDefinition name="Double" requiredType="Double" autoCreated="false" mandatory="false" onParentVersion="COPY" protected="false" multiple="false"/>
+    <propertyDefinition name="DoubleMultiple" requiredType="Double" autoCreated="false" mandatory="false" onParentVersion="COPY" protected="false" multiple="true"/>
+    <propertyDefinition name="DoubleConstraints" requiredType="Double" autoCreated="false" mandatory="false" onParentVersion="COPY" protected="false" multiple="false">
+      <valueConstraints>
+        <valueConstraint>(100,)</valueConstraint>
+      </valueConstraints>
+    </propertyDefinition>
+    <propertyDefinition name="DoubleMultipleConstraints" requiredType="Double" autoCreated="false" mandatory="false" onParentVersion="COPY" protected="false" multiple="true">
+      <valueConstraints>
+        <valueConstraint>(,100)</valueConstraint>
+      </valueConstraints>
+    </propertyDefinition>
+    <propertyDefinition name="Long" requiredType="Long" autoCreated="false" mandatory="false" onParentVersion="COPY" protected="false" multiple="false"/>
+    <propertyDefinition name="LongMultiple" requiredType="Long" autoCreated="false" mandatory="false" onParentVersion="COPY" protected="false" multiple="true"/>
+    <propertyDefinition name="LongConstraints" requiredType="Long" autoCreated="false" mandatory="false" onParentVersion="COPY" protected="false" multiple="false">
+      <valueConstraints>
+        <valueConstraint>(100,)</valueConstraint>
+      </valueConstraints>
+    </propertyDefinition>
+    <propertyDefinition name="LongMultipleConstraints" requiredType="Long" autoCreated="false" mandatory="false" onParentVersion="COPY" protected="false" multiple="true">
+      <valueConstraints>
+        <valueConstraint>(,100)</valueConstraint>
+      </valueConstraints>
+    </propertyDefinition>
+    <propertyDefinition name="Boolean" requiredType="Boolean" autoCreated="false" mandatory="false" onParentVersion="COPY" protected="false" multiple="false"/>
+    <propertyDefinition name="BooleanMultiple" requiredType="Boolean" autoCreated="false" mandatory="false" onParentVersion="COPY" protected="false" multiple="true"/>
+    <propertyDefinition name="BooleanConstraints" requiredType="Boolean" autoCreated="false" mandatory="false" onParentVersion="COPY" protected="false" multiple="false">
+      <valueConstraints>
+        <valueConstraint>true</valueConstraint>
+      </valueConstraints>
+    </propertyDefinition>
+    <propertyDefinition name="BooleanMultipleConstraints" requiredType="Boolean" autoCreated="false" mandatory="false" onParentVersion="COPY" protected="false" multiple="true">
+      <valueConstraints>
+        <valueConstraint>true</valueConstraint>
+      </valueConstraints>
+    </propertyDefinition>
+    <propertyDefinition name="Name" requiredType="Name" autoCreated="false" mandatory="false" onParentVersion="COPY" protected="false" multiple="false"/>
+    <propertyDefinition name="NameMultiple" requiredType="Name" autoCreated="false" mandatory="false" onParentVersion="COPY" protected="false" multiple="true"/>
+    <propertyDefinition name="NameConstraints" requiredType="Name" autoCreated="false" mandatory="false" onParentVersion="COPY" protected="false" multiple="false">
+      <valueConstraints>
+        <valueConstraint>abc</valueConstraint>
+      </valueConstraints>
+    </propertyDefinition>
+    <propertyDefinition name="NameMultipleConstraints" requiredType="Name" autoCreated="false" mandatory="false" onParentVersion="COPY" protected="false" multiple="true">
+      <valueConstraints>
+        <valueConstraint>abc</valueConstraint>
+      </valueConstraints>
+    </propertyDefinition>
+    <propertyDefinition name="Path" requiredType="Path" autoCreated="false" mandatory="false" onParentVersion="COPY" protected="false" multiple="false"/>
+    <propertyDefinition name="PathMultiple" requiredType="Path" autoCreated="false" mandatory="false" onParentVersion="COPY" protected="false" multiple="true"/>
+    <propertyDefinition name="PathConstraints" requiredType="Path" autoCreated="false" mandatory="false" onParentVersion="COPY" protected="false" multiple="false">
+      <valueConstraints>
+        <valueConstraint>/abc</valueConstraint>
+      </valueConstraints>
+    </propertyDefinition>
+    <propertyDefinition name="PathMultipleConstraints" requiredType="Path" autoCreated="false" mandatory="false" onParentVersion="COPY" protected="false" multiple="true">
+      <valueConstraints>
+        <valueConstraint>/abc</valueConstraint>
+      </valueConstraints>
+    </propertyDefinition>
+    <propertyDefinition name="ReferenceConstraints" requiredType="Reference" autoCreated="false" mandatory="false" onParentVersion="COPY" protected="false" multiple="false">
+      <valueConstraints>
+        <valueConstraint>test:canSetProperty</valueConstraint>
+      </valueConstraints>
+    </propertyDefinition>
+    <propertyDefinition name="ReferenceMultipleConstraints" requiredType="Reference" autoCreated="false" mandatory="false" onParentVersion="COPY" protected="false" multiple="true">
+      <valueConstraints>
+        <valueConstraint>test:canSetProperty</valueConstraint>
+      </valueConstraints>
+    </propertyDefinition>
+  </nodeType>
+
+  <!-- Defines a nodetype for testing NodeType.canAddChildNode() -->
+  <nodeType name="test:canAddChildNode" isMixin="false" hasOrderableChildNodes="false" primaryItemName="">
+    <supertypes>
+      <supertype>nt:base</supertype>
+    </supertypes>
+    <childNodeDefinition name="testChildWithDefaultType" defaultPrimaryType="nt:base" autoCreated="false" mandatory="false" onParentVersion="COPY" protected="false" sameNameSiblings="false">
+      <requiredPrimaryTypes>
+        <requiredPrimaryType>nt:base</requiredPrimaryType>
+      </requiredPrimaryTypes>
+    </childNodeDefinition>
+    <childNodeDefinition name="testChildWithoutDefaultType" defaultPrimaryType="" autoCreated="false" mandatory="false" onParentVersion="COPY" protected="false" sameNameSiblings="false">
+      <requiredPrimaryTypes>
+        <requiredPrimaryType>nt:base</requiredPrimaryType>
+      </requiredPrimaryTypes>
+    </childNodeDefinition>
+  </nodeType>
+
+  <!-- Defines a nodetype for testing Node.setProperty(). -->
+  <nodeType name="test:setProperty" isMixin="false" hasOrderableChildNodes="false" primaryItemName="">
+    <supertypes>
+      <supertype>nt:base</supertype>
+      <supertype>mix:referenceable</supertype>
+    </supertypes>
+    <propertyDefinition name="*" requiredType="undefined" autoCreated="false" mandatory="false" onParentVersion="COPY" protected="false" multiple="false" />
+    <propertyDefinition name="test:multiProperty" requiredType="undefined" autoCreated="false" mandatory="false" onParentVersion="COPY" protected="false" multiple="true" />
+    <childNodeDefinition name="*" defaultPrimaryType="test:setProperty" autoCreated="false" mandatory="false" onParentVersion="COPY" protected="false" sameNameSiblings="false" />
+  </nodeType>
+
+  <!-- Defines a nodetype to test assuming the PropertyType at Node.setProperty(). -->
+  <nodeType name="test:setPropertyAssumingType" isMixin="false" hasOrderableChildNodes="false" primaryItemName="">
+    <supertypes>
+      <supertype>nt:base</supertype>
+    </supertypes>
+    <propertyDefinition name="test:singleProperty" requiredType="undefined" autoCreated="false" mandatory="false" onParentVersion="COPY" protected="false" multiple="false" />
+    <propertyDefinition name="test:multiProperty" requiredType="undefined" autoCreated="false" mandatory="false" onParentVersion="COPY" protected="false" multiple="true" />
+    <childNodeDefinition name="*" defaultPrimaryType="test:setPropertyAssumingType" autoCreated="false" mandatory="false" onParentVersion="COPY" protected="false" sameNameSiblings="false" />
+  </nodeType>
+
+  <!-- Defines a nodetype with a childNodeDefinition that does not allow same name siblings -->
+  <nodeType name="test:sameNameSibsFalseChildNodeDefinition" isMixin="false" hasOrderableChildNodes="false" primaryItemName="">
+    <supertypes>
+      <supertype>nt:base</supertype>
+    </supertypes>
+    <propertyDefinition name="*" requiredType="undefined" autoCreated="false" mandatory="false" onParentVersion="COPY" protected="false" multiple="false"/>
+    <childNodeDefinition name="*" defaultPrimaryType="test:sameNameSibsFalseChildNodeDefinition" autoCreated="false" mandatory="false" onParentVersion="COMPUTE" protected="false" sameNameSiblings="false">
+      <requiredPrimaryTypes>
+        <requiredPrimaryType>nt:base</requiredPrimaryType>
+      </requiredPrimaryTypes>
+    </childNodeDefinition>
+  </nodeType>
+
+
+  <!-- ======================================================== -->
+  <!-- Node type definitions only required for jackrabbit core  -->
+  <!-- (internal) test cases.                                   -->
+  <!-- ======================================================== -->
+
+  <!-- Defines a mixin node type that extends mix:referenceable -->
+  <nodeType isMixin="true" name="test:referenceable" hasOrderableChildNodes="false" primaryItemName="">
+    <supertypes>
+      <supertype>mix:referenceable</supertype>
+    </supertypes>
+  </nodeType>
+</nodeTypes>

Added: jackrabbit/sandbox/jackrabbit-amazon/applications/test/repositoryStubImpl.properties
URL: http://svn.apache.org/viewvc/jackrabbit/sandbox/jackrabbit-amazon/applications/test/repositoryStubImpl.properties?rev=691635&view=auto
==============================================================================
--- jackrabbit/sandbox/jackrabbit-amazon/applications/test/repositoryStubImpl.properties (added)
+++ jackrabbit/sandbox/jackrabbit-amazon/applications/test/repositoryStubImpl.properties Wed Sep  3 08:29:07 2008
@@ -0,0 +1,474 @@
+#  Licensed to the Apache Software Foundation (ASF) under one or more
+#  contributor license agreements.  See the NOTICE file distributed with
+#  this work for additional information regarding copyright ownership.
+#  The ASF licenses this file to You under the Apache License, Version 2.0
+#  (the "License"); you may not use this file except in compliance with
+#  the License.  You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+#  Unless required by applicable law or agreed to in writing, software
+#  distributed under the License is distributed on an "AS IS" BASIS,
+#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+#  See the License for the specific language governing permissions and
+#  limitations under the License.
+
+#
+# This is the configuration file for the jackrabbit repository test stub.
+#
+
+# Stub implementation class
+javax.jcr.tck.repository_stub_impl=org.apache.jackrabbit.core.JackrabbitRepositoryStub
+
+# repository specific configuration
+org.apache.jackrabbit.repository.config=applications/test/repository.xml
+org.apache.jackrabbit.repository.name=repo
+org.apache.jackrabbit.repository.home=applications/test
+org.apache.jackrabbit.repository.jaas.config=applications/test/jaas.config
+
+# credential configuration
+javax.jcr.tck.superuser.name=superuser
+javax.jcr.tck.superuser.pwd=
+javax.jcr.tck.readwrite.name=user
+javax.jcr.tck.readwrite.pwd=
+javax.jcr.tck.readonly.name=anonymous
+javax.jcr.tck.readonly.pwd=
+
+# global test configuration
+javax.jcr.tck.testroot=/testroot
+javax.jcr.tck.nodetype=nt:unstructured
+javax.jcr.tck.nodename1=node1
+javax.jcr.tck.nodename2=node2
+javax.jcr.tck.nodename3=node3
+javax.jcr.tck.nodename4=node4
+javax.jcr.tck.propertyname1=prop1
+javax.jcr.tck.propertyname2=prop2
+javax.jcr.tck.workspacename=test
+
+# namespace configuration
+javax.jcr.tck.namespaces=test
+javax.jcr.tck.namespaces.test=http://www.apache.org/jackrabbit/test
+
+# sample for per test case config overriding
+# Test class: AddNodeText
+# Test method: testName
+javax.jcr.tck.AddNodeTest.testName.nodename1=myname
+
+# ==============================================================================
+# JAVAX.JCR CONFIGURATION
+# ==============================================================================
+
+# Test class: ItemDefTest
+javax.jcr.tck.ItemDefTest.testroot=/testdata
+
+# Test class: ItemReadMethodsTest
+javax.jcr.tck.ItemReadMethodsTest.testroot=/testdata
+
+# Test class: NodeReadMethodsTest
+javax.jcr.tck.NodeReadMethodsTest.testroot=/testdata
+
+# Test class: PropertyTypeTest
+javax.jcr.tck.PropertyTypeTest.testroot=/testdata
+
+# Test class: BinaryPropertyTest
+javax.jcr.tck.BinaryPropertyTest.testroot=/testdata
+
+# Test class: BooleanPropertyTest
+javax.jcr.tck.BooleanPropertyTest.testroot=/testdata
+
+# Test class: DatePropertyTest
+javax.jcr.tck.DatePropertyTest.testroot=/testdata
+
+# Test class: DoublePropertyTest
+javax.jcr.tck.DoublePropertyTest.testroot=/testdata
+
+# Test class: LongPropertyTest
+javax.jcr.tck.LongPropertyTest.testroot=/testdata
+
+# Test class: NamePropertyTest
+javax.jcr.tck.NamePropertyTest.testroot=/testdata
+
+# Test class: PathPropertyTest
+javax.jcr.tck.PathPropertyTest.testroot=/testdata
+
+# Test class: ReferencePropertyTest
+javax.jcr.tck.ReferencePropertyTest.testroot=/testdata
+
+# Test class: StringPropertyTest
+javax.jcr.tck.StringPropertyTest.testroot=/testdata
+
+# Test class: SetValueVersionExceptionTest
+# nodetype2: nodetype with a reference property
+javax.jcr.tck.SetValueVersionExceptionTest.nodetype2=nt:linkedFile
+# propertyname3: name of the single value reference property
+javax.jcr.tck.SetValueVersionExceptionTest.propertyname3=jcr:content
+
+# Test class: SetValueValueFormatExceptionTest
+javax.jcr.tck.SetValueValueFormatExceptionTest.nodetype=test:canSetProperty
+javax.jcr.tck.SetValueValueFormatExceptionTest.testValue.propertyname1=Boolean
+javax.jcr.tck.SetValueValueFormatExceptionTest.testValueArray.propertyname1=BooleanMultiple
+javax.jcr.tck.SetValueValueFormatExceptionTest.testString.propertyname1=Date
+javax.jcr.tck.SetValueValueFormatExceptionTest.testStringArray.propertyname1=DateMultiple
+javax.jcr.tck.SetValueValueFormatExceptionTest.testInputStream.propertyname1=Date
+javax.jcr.tck.SetValueValueFormatExceptionTest.testLong.propertyname1=Boolean
+javax.jcr.tck.SetValueValueFormatExceptionTest.testDouble.propertyname1=Boolean
+javax.jcr.tck.SetValueValueFormatExceptionTest.testCalendar.propertyname1=Boolean
+javax.jcr.tck.SetValueValueFormatExceptionTest.testBoolean.propertyname1=Date
+javax.jcr.tck.SetValueValueFormatExceptionTest.testNode.propertyname1=Boolean
+
+# Test class: SetPropertyAssumeTypeTest
+javax.jcr.tck.SetPropertyAssumeTypeTest.nodetype=test:canSetProperty
+javax.jcr.tck.SetPropertyAssumeTypeTest.testStringConstraintViolationExceptionBecauseOfInvalidTypeParameter.propertyname1=String
+javax.jcr.tck.SetPropertyAssumeTypeTest.testValueConstraintViolationExceptionBecauseOfInvalidTypeParameter.propertyname1=String
+javax.jcr.tck.SetPropertyAssumeTypeTest.testValuesConstraintViolationExceptionBecauseOfInvalidTypeParameter.propertyname1=StringMultiple
+
+# Test class: UndefinedPropertyTest
+javax.jcr.tck.UndefinedPropertyTest.testroot=/testdata
+
+# Test class: PropertyReadMethodsTest
+javax.jcr.tck.PropertyReadMethodsTest.testroot=/testdata
+
+# Test class: NodeIteratorTest
+javax.jcr.tck.NodeIteratorTest.testroot=/testdata
+
+# Test class: NodeDiscoveringNodeTypesTest
+javax.jcr.tck.NodeDiscoveringNodeTypesTest.testroot=/testdata
+
+# Test class: RepositoryDescriptorTest
+javax.jcr.tck.RepositoryDescriptorTest.testroot=/testdata
+
+# Test class: WorkspaceReadMethodsTest
+javax.jcr.tck.WorkspaceReadMethodsTest.testroot=/testdata
+
+# Test class: SessionReadMethodsTest
+javax.jcr.tck.SessionReadMethodsTest.testroot=/testdata
+
+# Test class: NamespaceRegistryReadMethodsTest
+javax.jcr.tck.NamespaceRegistryReadMethodsTest.testroot=/testdata
+
+# Test class: NamespaceRemappingTest
+javax.jcr.tck.NamespaceRemappingTest.testroot=/testdata
+
+# Test class: SessionTest
+# Test method: testMoveItemExistsException
+# nodetype that does not allow same name siblings
+javax.jcr.tck.SessionTest.testMoveItemExistsException.nodetype2=nt:folder
+# valid node type that can be added as child of nodetype2
+javax.jcr.tck.SessionTest.testMoveItemExistsException.nodetype3=nt:hierarchyNode
+
+# Test class: SessionTest
+# Test method: testSaveContstraintViolationException
+# nodetype that has a property that is mandatory but not autocreated
+javax.jcr.tck.SessionTest.testSaveContstraintViolationException.nodetype2=nt:file
+
+# Test class: SessionUUIDTest
+# node type that has a property of type PropertyType.REFERENCE
+javax.jcr.tck.SessionUUIDTest.nodetype=nt:unstructured
+# name of the property that is of type PropertyType.REFERENCE
+javax.jcr.tck.SessionUUIDTest.propertyname1=foobar
+# nodetype that has nodetype mix:referenceable assigned
+javax.jcr.tck.SessionUUIDTest.nodetype2=test:refTargetNode
+
+# Test class: SessionUUIDTest
+# Test method: testSaveMovedRefNode
+# name of the property that can be modified
+javax.jcr.tck.SessionUUIDTest.testSaveMovedRefNode.propertyname1=foobar
+
+# Test class: NodeTest
+# Test method: testAddNodeItemExistsException
+# nodetype that does not allow same name siblings and allows child nodes of
+# the same type
+javax.jcr.tck.NodeTest.testAddNodeItemExistsException.nodetype=nt:folder
+
+# Test class: NodeTest
+# Test method: testRemoveMandatoryNode
+# nodetype that has a mandatory child node definition
+javax.jcr.tck.NodeTest.testRemoveMandatoryNode.nodetype2=nt:file
+# nodetype of the  mandatory child
+javax.jcr.tck.NodeTest.testRemoveMandatoryNode.nodetype3=nt:base
+# name of the mandatory node
+javax.jcr.tck.NodeTest.testRemoveMandatoryNode.nodename3=jcr:content
+
+# Test class: NodeTest
+# Test method: testSaveContstraintViolationException
+# nodetype that has a property that is mandatory but not autocreated
+javax.jcr.tck.NodeTest.testSaveContstraintViolationException.nodetype2=nt:file
+
+# Test class: NodeUUIDTest
+# node type that has a property of type PropertyType.REFERENCE
+javax.jcr.tck.NodeUUIDTest.nodetype=nt:unstructured
+# name of the property that is of type PropertyType.REFERENCE
+javax.jcr.tck.NodeUUIDTest.propertyname1=ref
+# nodetype that has nodetype mix:referenceable assigned
+javax.jcr.tck.NodeUUIDTest.nodetype2=test:refTargetNode
+
+# Test class: NodeUUIDTest
+# Test method: testSaveMovedRefNode
+# name of the property that can be modified
+javax.jcr.tck.NodeUUIDTest.testSaveMovedRefNode.propertyname1=foobar
+# nodetype that has nodetype mix:referenceable assigned
+
+# Test class: NodeOrderableChildNodesTest
+# nodetype that supports orderable child nodes
+javax.jcr.tck.NodeOrderableChildNodesTest.nodetype2=nt:unstructured
+# valid node type that can be added as child of nodetype 2
+javax.jcr.tck.NodeOrderableChildNodesTest.nodetype3=nt:unstructured
+
+# Test class: NodeOrderableChildNodesTest
+# Test method: testOrderBeforeUnsupportedRepositoryOperationException
+# nodetype that does not allow ordering of child nodes
+javax.jcr.tck.NodeOrderableChildNodesTest.testOrderBeforeUnsupportedRepositoryOperationException.nodetype2=nt:folder
+# valid node type that can be added as child of nodetype 2
+javax.jcr.tck.NodeOrderableChildNodesTest.testOrderBeforeUnsupportedRepositoryOperationException.nodetype3=nt:hierarchyNode
+
+# Test class: SetPropertyNodeTest
+# nodetype which is referenceable
+javax.jcr.tck.SetPropertyNodeTest.nodetype=test:setProperty
+
+# Test class: SetPropertyValueTest
+# property that allows multiple values
+javax.jcr.tck.SetPropertyValueTest.propertyname2=test:multiProperty
+javax.jcr.tck.SetPropertyValueTest.nodetype=test:setProperty
+
+# Test class: SetPropertyStringTest
+# property that allows multiple values
+javax.jcr.tck.SetPropertyStringTest.propertyname2=test:multiProperty
+javax.jcr.tck.SetPropertyStringTest.nodetype=test:setProperty
+
+# Test class: WorkspaceCloneSameNameSibsTest
+javax.jcr.tck.WorkspaceCloneSameNameSibsTest.sameNameSibsFalseNodeType=test:sameNameSibsFalseChildNodeDefinition
+javax.jcr.tck.WorkspaceCloneSameNameSibsTest.sameNameSibsTrueNodeType=nt:unstructured
+
+# Test class: WorkspaceCopyBetweenWorkspacesSameNameSibsTest
+javax.jcr.tck.WorkspaceCopyBetweenWorkspacesSameNameSibsTest.sameNameSibsFalseNodeType=test:sameNameSibsFalseChildNodeDefinition
+javax.jcr.tck.WorkspaceCopyBetweenWorkspacesSameNameSibsTest.sameNameSibsTrueNodeType=nt:unstructured
+
+# Test class: WorkspaceCopySameNameSibsTest
+javax.jcr.tck.WorkspaceCopySameNameSibsTest.sameNameSibsFalseNodeType=test:sameNameSibsFalseChildNodeDefinition
+javax.jcr.tck.WorkspaceCopySameNameSibsTest.sameNameSibsTrueNodeType=nt:unstructured
+
+# Test class: WorkspaceMoveSameNameSibsTest
+javax.jcr.tck.WorkspaceMoveSameNameSibsTest.sameNameSibsFalseNodeType=test:sameNameSibsFalseChildNodeDefinition
+javax.jcr.tck.WorkspaceMoveSameNameSibsTest.sameNameSibsTrueNodeType=nt:unstructured
+
+# Test class: RepositoryLoginTest
+javax.jcr.tck.RepositoryLoginTest.testroot=/testdata
+
+# Test class: RootNodeTest
+javax.jcr.tck.RootNodeTest.testroot=/testdata
+
+# Test class: ReferenceableRootNodesTest
+javax.jcr.tck.ReferenceableRootNodesTest.testroot=/testdata
+
+# Test class: ExportDocViewTest
+javax.jcr.tck.ExportDocViewTest.testroot=/testdata
+
+# ------------------------------------------------------------------------------
+# observation configuration
+# ------------------------------------------------------------------------------
+
+# Test class: AddEventListenerTest
+# Test method: testNodeType
+javax.jcr.tck.AddEventListenerTest.testNodeType.nodetype2=nt:folder
+
+# Configuration settings for the serialization.
+# Note that the serialization test tries to use as many features of the repository
+# as possible, but fails silently if a feature is not available. You have to
+# specify all of the following configuration entries, even if your repository does
+# not support the feature that is associated with them.
+
+# Root node for the example tree
+javax.jcr.tck.SerializationTest.testroot=/testdata/serialization
+
+# Node type to use for the example tree. Specify a node type that allows complex trees and all property types if possible
+javax.jcr.tck.SerializationTest.nodetype=nt:unstructured
+
+# Name of the nodes for source and target tree
+javax.jcr.tck.SerializationTest.sourceFolderName=source
+javax.jcr.tck.SerializationTest.targetFolderName=target
+javax.jcr.tck.SerializationTest.rootNodeName=test
+
+# List the properties whose values may change during serialization/deserialization. For example,
+# the UUID of a node is unique in the repository, so it will have to change when you re-import
+# a tree at a different location.
+javax.jcr.tck.SerializationTest.propertyValueMayChange= jcr:created jcr:uuid jcr:versionHistory jcr:baseVersion jcr:predecessors P_Reference
+
+# List all properties which are skipped during xml import according specification chapter 7.3.3
+javax.jcr.tck.SerializationTest.propertySkipped=
+
+# The name of the test node types. For easier diagnostics, the node types have names
+# that tell you the kind of information they store
+javax.jcr.tck.SerializationTest.nodeTypesTestNode=NodeTypes
+javax.jcr.tck.SerializationTest.mixinTypeTestNode=MixinTypes
+javax.jcr.tck.SerializationTest.propertyTypesTestNode=PropertyTypes
+javax.jcr.tck.SerializationTest.sameNameChildrenTestNode=SameNameChildren
+javax.jcr.tck.SerializationTest.multiValuePropertiesTestNode=MultiValueProperties
+javax.jcr.tck.SerializationTest.referenceableNodeTestNode=ReferenceableNode
+javax.jcr.tck.SerializationTest.orderChildrenTestNode=OrderChildren
+javax.jcr.tck.SerializationTest.namespaceTestNode=Namespace
+
+# The name of the test property types.
+javax.jcr.tck.SerializationTest.stringTestProperty=P_String
+javax.jcr.tck.SerializationTest.binaryTestProperty=P_Binary
+javax.jcr.tck.SerializationTest.dateTestProperty=P_Date
+javax.jcr.tck.SerializationTest.longTestProperty=P_Long
+javax.jcr.tck.SerializationTest.doubleTestProperty=P_Double
+javax.jcr.tck.SerializationTest.booleanTestProperty=P_Boolean
+javax.jcr.tck.SerializationTest.nameTestProperty=P_Name
+javax.jcr.tck.SerializationTest.pathTestProperty=P_Path
+javax.jcr.tck.SerializationTest.referenceTestProperty=P_Reference
+javax.jcr.tck.SerializationTest.multiValueTestProperty=P_MultiValue
+
+# node type not allowing same name sibs
+javax.jcr.tck.SerializationTest.sameNameSibsFalseChildNodeDefinition=test:sameNameSibsFalseChildNodeDefinition
+
+# Test method: testVersioningExceptionSessionFileChild
+# specified nodetype must be versionable and allow child nodes of the same type.
+javax.jcr.tck.SerializationTest.testVersioningExceptionSessionFileChild.nodetype=test:versionable
+
+# Test method: testVersioningExceptionSessionFileParent
+# specified nodetype must be versionable and allow child nodes of the same type.
+javax.jcr.tck.SerializationTest.testVersioningExceptionSessionFileParent.nodetype=test:versionable
+
+# Test method: testSessionImportXmlOverwriteException
+# requires a node type that does not allow same name siblings
+javax.jcr.tck.SerializationTest.testSessionImportXmlOverwriteException.nodetype=nt:folder
+
+# Test class: ExportSysViewTest
+javax.jcr.tck.ExportSysViewTest.testroot=/testdata
+
+# ==============================================================================
+# JAVAX.JCR.QUERY CONFIGURATION
+# ==============================================================================
+
+javax.jcr.tck.nodetype.testroot=/testdata
+
+# ==============================================================================
+# JAVAX.JCR.QUERY CONFIGURATION
+# ==============================================================================
+
+# Test class: SaveTest
+# Test method: testConstraintViolationException
+# Specified node type must not allow child nodes.
+javax.jcr.tck.SaveTest.testConstraintViolationException.nodetype=nt:query
+
+# Test class: XPathQueryLevel1Test
+javax.jcr.tck.XPathQueryLevel1Test.testroot=/testdata/query
+
+# Test class: XPathDocOrderTest
+javax.jcr.tck.XPathDocOrderTest.testroot=/testdata/query
+
+# Test class: XPathPosIndexTest
+javax.jcr.tck.XPathPosIndexTest.testroot=/testdata/query
+
+# Test class: XPathOrderByTest
+javax.jcr.tck.XPathOrderByTest.testroot=/testdata/query
+
+# Test class: XPathSyntaxTest
+javax.jcr.tck.XPathSyntaxTest.testroot=/testdata/query
+
+# Test class: XPathJcrPathTest
+javax.jcr.tck.XPathJcrPathTest.testroot=/testdata
+
+# Test class: SQLQueryLevel1Test
+javax.jcr.tck.SQLQueryLevel1Test.testroot=/testdata/query
+
+# Test class: SQLSyntaxTest
+javax.jcr.tck.SQLSyntaxTest.testroot=/testdata/query
+
+# Test class: SQLOrderByTest
+javax.jcr.tck.SQLOrderByTest.testroot=/testdata/query
+
+# Test class: DerefQueryLevel1Test
+javax.jcr.tck.DerefQueryLevel1Test.testroot=/testdata
+
+# Test class: GetLanguageTest
+javax.jcr.tck.GetLanguageTest.testroot=/testdata
+
+# Test class: GetPersistentQueryPathLevel1Test
+javax.jcr.tck.GetPersistentQueryPathLevel1Test.testroot=/testdata
+
+# Test class: GetPropertyNamesTest
+javax.jcr.tck.GetPropertyNamesTest.testroot=/testdata
+
+# Test class: GetStatementTest
+javax.jcr.tck.GetStatementTest.testroot=/testdata
+
+# Test class: GetSupportedQueryLanguagesTest
+javax.jcr.tck.GetSupportedQueryLanguagesTest.testroot=/testdata
+
+# Test class: SQLJcrPathTest
+javax.jcr.tck.SQLJcrPathTest.testroot=/testdata
+
+# Test class: SQLPathTest
+javax.jcr.tck.SQLPathTest.testroot=/testdata
+
+# Test class: PredicatesTest
+javax.jcr.tck.PredicatesTest.testroot=/testdata
+
+# Test class: SimpleSelectionTest
+javax.jcr.tck.SimpleSelectionTest.testroot=/testdata
+
+# ==============================================================================
+# JAVAX.JCR.VERSIONING CONFIGURATION
+# ==============================================================================
+
+# nodetye that is versionable. if it is not, an attempt is made to create versionable nodes
+# by adding a mix:versionable mixin-type.
+# NOTE: javax.jcr.tck.nodetype must define a non-versionable nodetype!
+javax.jcr.tck.version.versionableNodeType=test:versionable
+javax.jcr.tck.version.propertyValue=aPropertyValue
+
+# testroot for the version package
+# the test root must allow versionable and non-versionable nodes being created below
+javax.jcr.tck.version.testroot=/testroot
+
+# 3 nodes (nodeName1, nodeName2, nodeName3 with nt=versionableNodeType / nt=nonVersionableNodeType will be cloned to 2nd workspace
+# nodename1 > used to persistently create versionable node below testroot
+# nodename2 > used to create second versionable node below testroot (used for restore/workspace.restore with uuid-conflict)
+# nodename3 > used to persistently create non-versionable node below testroot
+javax.jcr.tck.version.nodename1=versionableNodeName1
+javax.jcr.tck.version.nodename2=versionableNodeName2
+javax.jcr.tck.version.nodename3=nonVersionableNodeName1
+
+# nodename 4: versionabel child-node of the first versionable node with nodeName1 and nodetype 'versionableNodeType'
+# used for:
+# + creation of a node in the 2nd workspace, that does not exist in the first workspace
+# + creation of a node in the 2nd workspace, in order to test uuid-conflicts with Workspace.restore.
+# + creation of a sub-node in the default workspace, in order to test uuid-conflicts with Node.restore.
+# + NOTE: the nodetype with 'versionableNodeType' must define its children nodes to either have COPY or VERSION
+#         OPV behaviour in order to successfully test Node.restore and Workspace.restore with uuid conflict.
+javax.jcr.tck.version.nodename4=childNodeName
+
+# path to existing String-properties and a new value for the property, that allows to test the indicated OPV behaviour
+javax.jcr.tck.OnParentVersionAbortTest.propertyname1=test:abortOnParentVersionProp
+javax.jcr.tck.OnParentVersionComputeTest.propertyname1=test:computeOnParentVersionProp
+javax.jcr.tck.OnParentVersionCopyTest.propertyname1=test:copyOnParentVersionProp
+javax.jcr.tck.OnParentVersionIgnoreTest.propertyname1=test:ignoreOnParentVersionProp
+javax.jcr.tck.OnParentVersionInitializeTest.propertyname1=test:initializeOnParentVersionProp
+
+# Test class: RestoreTest
+# Test method: testRestoreWithUUIDConflict
+# nodename4 must be the name of a child node with a OPV definition COPY or VERSION
+javax.jcr.tck.RestoreTest.testRestoreWithUUIDConflict.nodename4=test:versionOnParentVersion
+javax.jcr.tck.RestoreTest.testRestoreLabel.nodename4=test:versionOnParentVersion
+javax.jcr.tck.RestoreTest.testRestoreName.nodename4=test:versionOnParentVersion
+
+# Test class: WorkspaceRestoreTest
+javax.jcr.tck.WorkspaceRestoreTest.testRestoreLabel.nodename4=test:versionOnParentVersion
+javax.jcr.tck.WorkspaceRestoreTest.testRestoreName.nodename4=test:versionOnParentVersion
+
+# config for nodes that show the indicated OPV behaviour:
+# nodes are added in order to test the versioning behaviour indicated by the test-class name.
+# NOTE:
+# - nodename4 is uses as name for the childnode
+# - nodetype is used as nodetype name for the childnode
+# - the specified child node is created below nodename1 with versionableNodeType
+#   the versionableNodeType and/or nodename1 may be overwritten with the individual
+#   testclass below.
+javax.jcr.tck.OnParentVersionCopyTest.nodename4=test:copyOnParentVersion
+javax.jcr.tck.OnParentVersionCopyTest.nodetype=nt:unstructured
+javax.jcr.tck.OnParentVersionAbortTest.nodename4=test:abortOnParentVersion
+javax.jcr.tck.OnParentVersionAbortTest.nodetype=nt:unstructured
+javax.jcr.tck.OnParentVersionIgnoreTest.nodename4=test:ignoreOnParentVersion
+javax.jcr.tck.OnParentVersionIgnoreTest.nodetype=nt:unstructured

Propchange: jackrabbit/sandbox/jackrabbit-amazon/applications/test/repositoryStubImpl.properties
------------------------------------------------------------------------------
    svn:eol-style = native

Added: jackrabbit/sandbox/jackrabbit-amazon/applications/test/workspaces/default/workspace.xml
URL: http://svn.apache.org/viewvc/jackrabbit/sandbox/jackrabbit-amazon/applications/test/workspaces/default/workspace.xml?rev=691635&view=auto
==============================================================================
--- jackrabbit/sandbox/jackrabbit-amazon/applications/test/workspaces/default/workspace.xml (added)
+++ jackrabbit/sandbox/jackrabbit-amazon/applications/test/workspaces/default/workspace.xml Wed Sep  3 08:29:07 2008
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Workspace name="default">
+        <!--
+            virtual file system of the workspace:
+            class: FQN of class implementing the FileSystem interface
+        -->
+        <FileSystem class="org.apache.jackrabbit.core.fs.local.LocalFileSystem">
+            <param name="path" value="${wsp.home}"/>
+        </FileSystem>
+        <!--
+            persistence manager of the workspace:
+            class: FQN of class implementing the PersistenceManager interface
+        -->
+        <!-- PersistenceManager class="org.apache.jackrabbit.persistence.amazon.AmazonS3PersistenceManager"-->
+        <PersistenceManager class="org.apache.jackrabbit.persistence.amazon.AmazonS3BundlePersistenceManager">
+            <param name="accessKey" value="${aws.accessKey}"/>
+            <param name="secretKey" value="${aws.secretKey}"/>
+            <param name="bucket" value="${aws.accessKey}.jcrstore"/>
+		    <param name="objectPrefix" value="${wsp.name}/"/>
+		</PersistenceManager>
+        <!--
+            Search index and the file system it uses.
+            class: FQN of class implementing the QueryHandler interface
+        -->
+        <SearchIndex class="org.apache.jackrabbit.core.query.lucene.SearchIndex">
+            <param name="path" value="${wsp.home}/index"/>
+        </SearchIndex>
+    </Workspace>

Propchange: jackrabbit/sandbox/jackrabbit-amazon/applications/test/workspaces/default/workspace.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Added: jackrabbit/sandbox/jackrabbit-amazon/applications/test/workspaces/test/workspace.xml
URL: http://svn.apache.org/viewvc/jackrabbit/sandbox/jackrabbit-amazon/applications/test/workspaces/test/workspace.xml?rev=691635&view=auto
==============================================================================
--- jackrabbit/sandbox/jackrabbit-amazon/applications/test/workspaces/test/workspace.xml (added)
+++ jackrabbit/sandbox/jackrabbit-amazon/applications/test/workspaces/test/workspace.xml Wed Sep  3 08:29:07 2008
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Workspace name="test">
+        <!--
+            virtual file system of the workspace:
+            class: FQN of class implementing the FileSystem interface
+        -->
+        <FileSystem class="org.apache.jackrabbit.core.fs.local.LocalFileSystem">
+            <param name="path" value="${wsp.home}"/>
+        </FileSystem>
+        <!--
+            persistence manager of the workspace:
+            class: FQN of class implementing the PersistenceManager interface
+        -->
+        <!-- PersistenceManager class="org.apache.jackrabbit.persistence.amazon.AmazonS3PersistenceManager"-->
+        <PersistenceManager class="org.apache.jackrabbit.persistence.amazon.AmazonS3BundlePersistenceManager">
+            <param name="accessKey" value="${aws.accessKey}"/>
+            <param name="secretKey" value="${aws.secretKey}"/>
+            <param name="bucket" value="${aws.accessKey}.jcrstore"/>
+		    <param name="objectPrefix" value="${wsp.name}/"/>
+		</PersistenceManager>
+        <!--
+            Search index and the file system it uses.
+            class: FQN of class implementing the QueryHandler interface
+        -->
+        <SearchIndex class="org.apache.jackrabbit.core.query.lucene.SearchIndex">
+            <param name="path" value="${wsp.home}/index"/>
+        </SearchIndex>
+    </Workspace>

Propchange: jackrabbit/sandbox/jackrabbit-amazon/applications/test/workspaces/test/workspace.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Added: jackrabbit/sandbox/jackrabbit-amazon/aws.properties.template
URL: http://svn.apache.org/viewvc/jackrabbit/sandbox/jackrabbit-amazon/aws.properties.template?rev=691635&view=auto
==============================================================================
--- jackrabbit/sandbox/jackrabbit-amazon/aws.properties.template (added)
+++ jackrabbit/sandbox/jackrabbit-amazon/aws.properties.template Wed Sep  3 08:29:07 2008
@@ -0,0 +1,5 @@
+# For running mvn test (full JCR api test suite with
+# AmazonS3 persistence manager as backend), you need
+# to provide AWS credentials here: 
+aws.accessKey=
+aws.secretKey=
\ No newline at end of file

Added: jackrabbit/sandbox/jackrabbit-amazon/build.xml
URL: http://svn.apache.org/viewvc/jackrabbit/sandbox/jackrabbit-amazon/build.xml?rev=691635&view=auto
==============================================================================
--- jackrabbit/sandbox/jackrabbit-amazon/build.xml (added)
+++ jackrabbit/sandbox/jackrabbit-amazon/build.xml Wed Sep  3 08:29:07 2008
@@ -0,0 +1,46 @@
+<!--
+	This file is used to store ant tasks executed by maven2 goals. 
+	Refer to pom.xml where they are invoked.
+-->
+<project name="jackrabbit" basedir=".">
+	<target name="deleteSources">
+		<echo>
+			Remove files that have been customized in
+			Jackrabbit
+		</echo>
+		<delete includeEmptyDirs="true">
+			<fileset dir="applications/test/workspaces">
+				<include name="**/*" />
+				<exclude name="**/workspace.xml" />
+			</fileset>
+		</delete>
+		<delete dir="applications/test/tx" />
+		<delete dir="applications/test/version" />
+		<delete file="applications/test/.lock" />
+	</target>
+
+	<target name="prepareTestRepository">
+		<copy file="applications/test/repository/namespaces/ns_reg.properties.install" tofile="applications/test/repository/namespaces/ns_reg.properties" overwrite="true" />
+		<copy file="applications/test/repository/nodetypes/custom_nodetypes.xml.install" tofile="applications/test/repository/nodetypes/custom_nodetypes.xml" overwrite="true" />
+	</target>
+
+	<target name="cleanTestData">
+		<delete includeEmptyDirs="true">
+			<fileset dir="applications/test/repository">
+				<include name="**/*" />
+				<exclude name="**/custom_nodetypes.xml.install" />
+				<exclude name="**/ns_reg.properties.install" />
+			</fileset>
+		</delete>
+		<delete includeEmptyDirs="true">
+			<fileset dir="applications/test/workspaces">
+				<include name="**/*" />
+				<exclude name="**/workspace.xml" />
+			</fileset>
+		</delete>
+		<delete dir="applications/test/tx" />
+		<delete dir="applications/test/version" />
+		<delete file="applications/test/.lock" />
+	</target>
+</project>
+

Propchange: jackrabbit/sandbox/jackrabbit-amazon/build.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Added: jackrabbit/sandbox/jackrabbit-amazon/patches-for-1.3/jackrabbit-core.create-test-jars.patch
URL: http://svn.apache.org/viewvc/jackrabbit/sandbox/jackrabbit-amazon/patches-for-1.3/jackrabbit-core.create-test-jars.patch?rev=691635&view=auto
==============================================================================
--- jackrabbit/sandbox/jackrabbit-amazon/patches-for-1.3/jackrabbit-core.create-test-jars.patch (added)
+++ jackrabbit/sandbox/jackrabbit-amazon/patches-for-1.3/jackrabbit-core.create-test-jars.patch Wed Sep  3 08:29:07 2008
@@ -0,0 +1,49 @@
+Index: pom.xml
+===================================================================
+--- pom.xml	(revision 609923)
++++ pom.xml	(working copy)
+@@ -130,6 +130,44 @@
+         </dependencies>
+       </plugin>
+       <plugin>
++          <!-- export our test classes in a separate jar -->
++          <groupId>org.apache.maven.plugins</groupId>
++          <artifactId>maven-jar-plugin</artifactId>
++          <executions>
++              <execution>
++                  <goals>
++                      <goal>test-jar</goal>
++                  </goals>
++              </execution>
++          </executions>
++      </plugin>
++
++      <!-- <plugin>
++          <groupId>org.apache.maven.plugins</groupId>
++          <artifactId>maven-source-plugin</artifactId>
++          <executions>
++              <execution>
++                  <goals>
++                      <goal>jar</goal>
++                      <goal>test-jar</goal>
++                  </goals>
++              </execution>
++          </executions>
++      </plugin>
++      
++      <plugin>
++          <groupId>org.apache.maven.plugins</groupId>
++          <artifactId>maven-javadoc-plugin</artifactId>
++          <executions>
++              <execution>
++                  <goals>
++                      <goal>jar</goal>
++                  </goals>
++              </execution>
++          </executions>
++      </plugin>-->
++      
++      <plugin>
+         <groupId>org.codehaus.mojo</groupId>
+         <artifactId>javacc-maven-plugin</artifactId>
+         <version>2.1</version>

Propchange: jackrabbit/sandbox/jackrabbit-amazon/patches-for-1.3/jackrabbit-core.create-test-jars.patch
------------------------------------------------------------------------------
    svn:eol-style = native



Mime
View raw message