From commits-return-7375-apmail-jackrabbit-commits-archive=jackrabbit.apache.org@jackrabbit.apache.org Wed Apr 08 04:10:48 2009 Return-Path: Delivered-To: apmail-jackrabbit-commits-archive@www.apache.org Received: (qmail 41491 invoked from network); 8 Apr 2009 04:10:48 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.3) by minotaur.apache.org with SMTP; 8 Apr 2009 04:10:48 -0000 Received: (qmail 96792 invoked by uid 500); 8 Apr 2009 04:10:48 -0000 Delivered-To: apmail-jackrabbit-commits-archive@jackrabbit.apache.org Received: (qmail 96723 invoked by uid 500); 8 Apr 2009 04:10:47 -0000 Mailing-List: contact commits-help@jackrabbit.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@jackrabbit.apache.org Delivered-To: mailing list commits@jackrabbit.apache.org Received: (qmail 96714 invoked by uid 99); 8 Apr 2009 04:10:47 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 08 Apr 2009 04:10:47 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.4] (HELO eris.apache.org) (140.211.11.4) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 08 Apr 2009 04:10:32 +0000 Received: by eris.apache.org (Postfix, from userid 1221) id F25E12388A50; Wed, 8 Apr 2009 04:10:10 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r762702 - in /jackrabbit/trunk/jackrabbit-core/src: main/java/org/apache/jackrabbit/core/ main/resources/org/apache/jackrabbit/core/ test/java/org/apache/jackrabbit/core/ test/repository/ test/resources/ Date: Wed, 08 Apr 2009 04:10:10 -0000 To: commits@jackrabbit.apache.org From: jukka@apache.org X-Mailer: svnmailer-1.0.8 Message-Id: <20090408041010.F25E12388A50@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org Author: jukka Date: Tue Apr 7 11:26:13 2009 New Revision: 762702 URL: http://svn.apache.org/viewvc?rev=762702&view=rev Log: JCR-2055: RepositoryStub implementation in jackrabbit-core Move JackrabbitRepositoryStub to src/main/java and make it easier to use in downstream projects. Added: jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/JackrabbitRepositoryStub.java (contents, props changed) - copied, changed from r762650, jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/JackrabbitRepositoryStub.java jackrabbit/trunk/jackrabbit-core/src/main/resources/org/apache/jackrabbit/core/JackrabbitRepositoryStub.properties (contents, props changed) - copied, changed from r762650, jackrabbit/trunk/jackrabbit-core/src/test/resources/repositoryStubImpl.properties Removed: jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/JackrabbitRepositoryStub.java jackrabbit/trunk/jackrabbit-core/src/test/repository/jaas.config Modified: jackrabbit/trunk/jackrabbit-core/src/test/resources/repositoryStubImpl.properties Copied: jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/JackrabbitRepositoryStub.java (from r762650, jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/JackrabbitRepositoryStub.java) URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/JackrabbitRepositoryStub.java?p2=jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/JackrabbitRepositoryStub.java&p1=jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/JackrabbitRepositoryStub.java&r1=762650&r2=762702&rev=762702&view=diff ============================================================================== --- jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/JackrabbitRepositoryStub.java (original) +++ jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/JackrabbitRepositoryStub.java Tue Apr 7 11:26:13 2009 @@ -16,101 +16,129 @@ */ package org.apache.jackrabbit.core; -import org.apache.jackrabbit.core.jndi.RegistryHelper; -import org.apache.jackrabbit.test.RepositoryStub; -import org.apache.jackrabbit.test.RepositoryStubException; +import java.io.File; +import java.io.FileOutputStream; +import java.io.IOException; +import java.io.InputStream; +import java.io.OutputStream; +import java.util.Properties; import javax.jcr.Repository; -import javax.naming.Context; -import javax.naming.InitialContext; -import java.util.Hashtable; -import java.util.Properties; + +import org.apache.commons.io.IOUtils; +import org.apache.jackrabbit.core.config.RepositoryConfig; +import org.apache.jackrabbit.test.RepositoryStub; +import org.apache.jackrabbit.test.RepositoryStubException; /** - * Implements the RepositoryStub for the JCR Reference Implementation. + * RepositoryStub implementation for Apache Jackrabbit. + * + * @since Apache Jackrabbit 1.6 */ public class JackrabbitRepositoryStub extends RepositoryStub { /** - * Property for the repository name (used for jndi lookup) - */ - public static final String PROP_REPOSITORY_NAME = "org.apache.jackrabbit.repository.name"; - - /** - * Property for the repository configuration file (used for repository instantiation) + * Property for the repository configuration file. Defaults to + * <repository home>/repository.xml if not specified. */ - public static final String PROP_REPOSITORY_CONFIG = "org.apache.jackrabbit.repository.config"; + public static final String PROP_REPOSITORY_CONFIG = + "org.apache.jackrabbit.repository.config"; /** - * Property for the repository home directory (used for repository instantiation) + * Property for the repository home directory. Defaults to + * target/repository for convenience in Maven builds. */ - public static final String PROP_REPOSITORY_HOME = "org.apache.jackrabbit.repository.home"; + public static final String PROP_REPOSITORY_HOME = + "org.apache.jackrabbit.repository.home"; /** - * Property for the jaas config path. If the system property - * java.security.auth.login.config is not set this repository - * stub will try to read this property from the environment and use the - * value retrieved as the value for the system property. + * Repository settings. */ - public static final String PROP_JAAS_CONFIG = "org.apache.jackrabbit.repository.jaas.config"; + private final Properties settings; /** - * The name of the jaas config system property. - */ - private static final String SYS_JAAS_CONFIG = "java.security.auth.login.config"; - - /** - * The repository instance + * The repository instance. */ private Repository repository; + private static Properties getStaticProperties() { + Properties properties = new Properties(); + try { + InputStream stream = + JackrabbitRepositoryStub.class.getResourceAsStream( + "JackrabbitRepositoryStub.properties"); + try { + properties.load(stream); + } finally { + stream.close(); + } + } catch (IOException e) { + // TODO: Log warning + } + return properties; + } + /** * Constructor as required by the JCR TCK. * - * @param env environment properties. + * @param settings repository settings */ - public JackrabbitRepositoryStub(Properties env) { - super(env); + public JackrabbitRepositoryStub(Properties settings) { + super(getStaticProperties()); // set some attributes on the sessions superuser.setAttribute("jackrabbit", "jackrabbit"); readwrite.setAttribute("jackrabbit", "jackrabbit"); readonly.setAttribute("jackrabbit", "jackrabbit"); + + // Repository settings + this.settings = settings; } /** - * Returns the configured Repository instance. - *
- * The default repository name is 'repo'. + * Returns the configured repository instance. * - * @return the configured Repository instance. + * @return the configured repository instance. * @throws RepositoryStubException if an error occurs while - * obtaining the Repository instance. + * obtaining the repository instance. */ - public synchronized Repository getRepository() throws RepositoryStubException { + public synchronized Repository getRepository() + throws RepositoryStubException { if (repository == null) { try { - String repName = environment.getProperty(PROP_REPOSITORY_NAME, "repo"); - String repConfig = environment.getProperty(PROP_REPOSITORY_CONFIG); - String repHome = environment.getProperty(PROP_REPOSITORY_HOME); - String jaasConfig = environment.getProperty(PROP_JAAS_CONFIG); - - // set jaas config from stub properties if system property is - // not set. - if (System.getProperty(SYS_JAAS_CONFIG) == null && jaasConfig != null) { - System.setProperty(SYS_JAAS_CONFIG, jaasConfig); + String dir = settings.getProperty(PROP_REPOSITORY_HOME); + if (dir == null) { + dir = new File("target", "repository").getPath(); } - // register repository instance - Hashtable env = new Hashtable(); - env.put(Context.INITIAL_CONTEXT_FACTORY, "org.apache.jackrabbit.core.jndi.provider.DummyInitialContextFactory"); - env.put(Context.PROVIDER_URL, "localhost"); - InitialContext ctx = new InitialContext(env); - RegistryHelper.registerRepository(ctx, repName, repConfig, repHome, true); + new File(dir).mkdirs(); + + String xml = settings.getProperty(PROP_REPOSITORY_CONFIG); + if (xml == null) { + xml = new File(dir, "repository.xml").getPath(); + } + + if (!new File(xml).exists()) { + InputStream input = + RepositoryImpl.class.getResourceAsStream("repository.xml"); + try { + OutputStream output = new FileOutputStream(xml); + try { + IOUtils.copy(input, output); + } finally { + output.close(); + } + } finally { + input.close(); + } + } - repository = (Repository) ctx.lookup(repName); + RepositoryConfig config = RepositoryConfig.create(xml, dir); + repository = RepositoryImpl.create(config); } catch (Exception e) { - e.printStackTrace(); - throw new RepositoryStubException(e.toString()); + RepositoryStubException exception = + new RepositoryStubException("Failed to start repository"); + exception.initCause(e); + throw exception; } } return repository; Propchange: jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/JackrabbitRepositoryStub.java ------------------------------------------------------------------------------ svn:eol-style = native Propchange: jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/JackrabbitRepositoryStub.java ------------------------------------------------------------------------------ --- svn:mergeinfo (added) +++ svn:mergeinfo Tue Apr 7 11:26:13 2009 @@ -0,0 +1 @@ +/jackrabbit/branches/1.3/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/JackrabbitRepositoryStub.java:631261 Copied: jackrabbit/trunk/jackrabbit-core/src/main/resources/org/apache/jackrabbit/core/JackrabbitRepositoryStub.properties (from r762650, jackrabbit/trunk/jackrabbit-core/src/test/resources/repositoryStubImpl.properties) URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-core/src/main/resources/org/apache/jackrabbit/core/JackrabbitRepositoryStub.properties?p2=jackrabbit/trunk/jackrabbit-core/src/main/resources/org/apache/jackrabbit/core/JackrabbitRepositoryStub.properties&p1=jackrabbit/trunk/jackrabbit-core/src/test/resources/repositoryStubImpl.properties&r1=762650&r2=762702&rev=762702&view=diff ============================================================================== --- jackrabbit/trunk/jackrabbit-core/src/test/resources/repositoryStubImpl.properties (original) +++ jackrabbit/trunk/jackrabbit-core/src/main/resources/org/apache/jackrabbit/core/JackrabbitRepositoryStub.properties Tue Apr 7 11:26:13 2009 @@ -13,19 +13,6 @@ # 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=src/test/repository/repository.xml -org.apache.jackrabbit.repository.name=repo -org.apache.jackrabbit.repository.home=target/repository -org.apache.jackrabbit.repository.jaas.config=src/test/repository/jaas.config - # credential configuration javax.jcr.tck.superuser.name=admin javax.jcr.tck.superuser.pwd=admin Propchange: jackrabbit/trunk/jackrabbit-core/src/main/resources/org/apache/jackrabbit/core/JackrabbitRepositoryStub.properties ------------------------------------------------------------------------------ svn:eol-style = native Propchange: jackrabbit/trunk/jackrabbit-core/src/main/resources/org/apache/jackrabbit/core/JackrabbitRepositoryStub.properties ------------------------------------------------------------------------------ --- svn:mergeinfo (added) +++ svn:mergeinfo Tue Apr 7 11:26:13 2009 @@ -0,0 +1 @@ +/jackrabbit/branches/1.3/jackrabbit-core/src/test/resources/repositoryStubImpl.properties:631261 Modified: jackrabbit/trunk/jackrabbit-core/src/test/resources/repositoryStubImpl.properties URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-core/src/test/resources/repositoryStubImpl.properties?rev=762702&r1=762701&r2=762702&view=diff ============================================================================== --- jackrabbit/trunk/jackrabbit-core/src/test/resources/repositoryStubImpl.properties (original) +++ jackrabbit/trunk/jackrabbit-core/src/test/resources/repositoryStubImpl.properties Tue Apr 7 11:26:13 2009 @@ -13,469 +13,5 @@ # 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=src/test/repository/repository.xml -org.apache.jackrabbit.repository.name=repo -org.apache.jackrabbit.repository.home=target/repository -org.apache.jackrabbit.repository.jaas.config=src/test/repository/jaas.config - -# credential configuration -javax.jcr.tck.superuser.name=admin -javax.jcr.tck.superuser.pwd=admin -javax.jcr.tck.readwrite.name=admin -javax.jcr.tck.readwrite.pwd=admin -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.propertyvalue1=value1 -javax.jcr.tck.propertyvalue2=value2 -#javax.jcr.tck.propertytype1=String -#javax.jcr.tck.propertytype2=String -javax.jcr.tck.workspacename=test - -# namespace configuration -javax.jcr.tck.namespaces=test -javax.jcr.tck.namespaces.test=http://www.apache.org/jackrabbit/test - -# retention and hold -javax.jcr.tck.holdname=hold - -# 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