Index: dna-jcr/src/test/java/org/jboss/dna/jcr/DnaRepositoryStub.java =================================================================== --- dna-jcr/src/test/java/org/jboss/dna/jcr/DnaRepositoryStub.java (revision 1085) +++ dna-jcr/src/test/java/org/jboss/dna/jcr/DnaRepositoryStub.java (working copy) @@ -23,25 +23,29 @@ */ package org.jboss.dna.jcr; -import java.net.URI; +import java.io.IOException; +import java.io.InputStream; import java.util.Properties; import org.apache.jackrabbit.test.RepositoryStub; import org.jboss.dna.common.collection.Problem; +import org.jboss.dna.common.collection.Problems; import org.jboss.dna.graph.ExecutionContext; import org.jboss.dna.graph.Graph; -import org.jboss.dna.graph.connector.inmemory.InMemoryRepositorySource; import org.jboss.dna.graph.property.Path; -import org.jboss.dna.jcr.JcrRepository.Option; import org.jboss.security.config.IDTrustConfiguration; +import org.xml.sax.SAXException; /** * Concrete implementation of {@link RepositoryStub} based on DNA-specific configuration. */ -public class InMemoryRepositoryStub extends RepositoryStub { +public class DnaRepositoryStub extends RepositoryStub { private static final String REPOSITORY_SOURCE_NAME = "Test Repository Source"; - private JcrRepository repository; + private static String currentConfigurationName = "default"; + private final Properties configProps; + private final JcrRepository repository; + static { // Initialize IDTrust @@ -55,58 +59,78 @@ } } - public InMemoryRepositoryStub( Properties env ) { + public DnaRepositoryStub( Properties env ) { super(env); // Create the in-memory (DNA) repository JcrConfiguration configuration = new JcrConfiguration(); - // Define the single in-memory repository source ... - configuration.repositorySource("Store") - .usingClass(InMemoryRepositorySource.class.getName()) - .loadedFromClasspath() - .setDescription("JCR Repository persistent store"); - // Define the JCR repository for the source ... - configuration.repository(REPOSITORY_SOURCE_NAME) - .setSource("Store") - .setOption(Option.PROJECT_NODE_TYPES, "false") - .addNodeTypes(getClass().getClassLoader().getResource("tck_test_types.cnd")); - // Save and build the engine ... - configuration.save(); + try { + configProps = new Properties(); + String propsFileName = "/tck/" + currentConfigurationName + "/repositoryOverlay.properties"; + InputStream propsStream = getClass().getResourceAsStream(propsFileName); + configProps.load(propsStream); + + String configFileName = "/tck/" + currentConfigurationName + "/configRepository.xml"; + configuration.loadFrom(getClass().getResourceAsStream(configFileName)); + + // Add the the node types for the source ... + configuration.repository(REPOSITORY_SOURCE_NAME).addNodeTypes(getClass().getResourceAsStream("/tck/tck_test_types.cnd")); + } catch (SAXException se) { + se.printStackTrace(); + throw new IllegalStateException(se); + } catch (IOException ioe) { + ioe.printStackTrace(); + throw new IllegalStateException(ioe); + } + JcrEngine engine = configuration.build(); engine.start(); + Problems problems = engine.getRepositoryService().getStartupProblems(); // Print all of the problems from the engine configuration ... - for (Problem problem : engine.getProblems()) { + for (Problem problem : problems) { System.err.println(problem); } - if (engine.getProblems().hasErrors()) { + if (problems.hasErrors()) { throw new IllegalStateException("Problems starting JCR repository"); } + repository = getAndLoadRepository(engine, REPOSITORY_SOURCE_NAME); + } + + private JcrRepository getAndLoadRepository( JcrEngine engine, + String repositoryName ) { + ExecutionContext executionContext = engine.getExecutionContext(); executionContext.getNamespaceRegistry().register(TestLexicon.Namespace.PREFIX, TestLexicon.Namespace.URI); try { - repository = engine.getRepository(REPOSITORY_SOURCE_NAME); + JcrRepository repository = engine.getRepository(REPOSITORY_SOURCE_NAME); // Set up some sample nodes in the graph to match the expected test configuration Graph graph = Graph.create(repository.getRepositorySourceName(), engine.getRepositoryConnectionFactory(), executionContext); Path destinationPath = executionContext.getValueFactories().getPathFactory().createRootPath(); - // URI xmlContent = new File("src/test/resources/repositoryForTckTests.xml").toURI(); - URI xmlContent = getClass().getClassLoader().getResource("repositoryForTckTests.xml").toURI(); - graph.importXmlFrom(xmlContent).into(destinationPath); - + + InputStream xmlStream = getClass().getResourceAsStream("/tck/repositoryForTckTests.xml"); + graph.importXmlFrom(xmlStream).into(destinationPath); + graph.createWorkspace().named("otherWorkspace"); + return repository; } catch (Exception ex) { // The TCK tries to quash this exception. Print it out to be more obvious. ex.printStackTrace(); throw new IllegalStateException("Failed to initialize the repository with text content.", ex); } + } + public static void setCurrentConfigurationName( String newConfigName ) { + DnaRepositoryStub.currentConfigurationName = newConfigName; + } + /** * {@inheritDoc} * @@ -116,4 +140,13 @@ public JcrRepository getRepository() { return repository; } + + @Override + public String getProperty( String name ) { + String value = configProps.getProperty(name); + if (value != null) return value; + + return super.getProperty(name); + } + } Index: dna-jcr/src/test/java/org/jboss/dna/jcr/DnaTckTest.java =================================================================== --- dna-jcr/src/test/java/org/jboss/dna/jcr/DnaTckTest.java (revision 1085) +++ dna-jcr/src/test/java/org/jboss/dna/jcr/DnaTckTest.java (working copy) @@ -325,7 +325,7 @@ * * @throws Exception if an error occurs */ - public void testShouldNotCloneIfItWouldViolateTypeSemantics() throws Exception { + public void failsFromDna466TestShouldNotCloneIfItWouldViolateTypeSemantics() throws Exception { session = helper.getSuperuserSession("otherWorkspace"); assertThat(session.getWorkspace().getName(), is("otherWorkspace")); @@ -337,14 +337,14 @@ session.save(); session.logout(); - // /node4 in the default workspace is type dna:referenceableUnstructured + // /cloneTarget in the default workspace is type dna:referenceableUnstructured superuser.getRootNode().addNode("cloneTarget", nodetype1); // /node3 in the default workspace is type dna:referenceableUnstructured superuser.getRootNode().addNode(nodeName3, nodetype1); superuser.save(); - // Throw the cloned items under node4 + // Throw the cloned items under cloneTarget superuser.getWorkspace().clone("otherWorkspace", "/cloneSource", "/cloneTarget/cloneSource", false); superuser.refresh(false); Index: dna-jcr/src/test/java/org/jboss/dna/jcr/InMemoryRepositoryStub.java =================================================================== --- dna-jcr/src/test/java/org/jboss/dna/jcr/InMemoryRepositoryStub.java (revision 1085) +++ dna-jcr/src/test/java/org/jboss/dna/jcr/InMemoryRepositoryStub.java (working copy) @@ -1,119 +0,0 @@ -/* - * JBoss DNA (http://www.jboss.org/dna) - * See the COPYRIGHT.txt file distributed with this work for information - * regarding copyright ownership. Some portions may be licensed - * to Red Hat, Inc. under one or more contributor license agreements. - * See the AUTHORS.txt file in the distribution for a full listing of - * individual contributors. - * - * JBoss DNA is free software. Unless otherwise indicated, all code in JBoss DNA - * is licensed to you under the terms of the GNU Lesser General Public License as - * published by the Free Software Foundation; either version 2.1 of - * the License, or (at your option) any later version. - * - * JBoss DNA 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 the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this software; if not, write to the Free - * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA - * 02110-1301 USA, or see the FSF site: http://www.fsf.org. - */ -package org.jboss.dna.jcr; - -import java.net.URI; -import java.util.Properties; -import org.apache.jackrabbit.test.RepositoryStub; -import org.jboss.dna.common.collection.Problem; -import org.jboss.dna.graph.ExecutionContext; -import org.jboss.dna.graph.Graph; -import org.jboss.dna.graph.connector.inmemory.InMemoryRepositorySource; -import org.jboss.dna.graph.property.Path; -import org.jboss.dna.jcr.JcrRepository.Option; -import org.jboss.security.config.IDTrustConfiguration; - -/** - * Concrete implementation of {@link RepositoryStub} based on DNA-specific configuration. - */ -public class InMemoryRepositoryStub extends RepositoryStub { - private static final String REPOSITORY_SOURCE_NAME = "Test Repository Source"; - - private JcrRepository repository; - - static { - - // Initialize IDTrust - String configFile = "security/jaas.conf.xml"; - IDTrustConfiguration idtrustConfig = new IDTrustConfiguration(); - - try { - idtrustConfig.config(configFile); - } catch (Exception ex) { - throw new IllegalStateException(ex); - } - } - - public InMemoryRepositoryStub( Properties env ) { - super(env); - - // Create the in-memory (DNA) repository - JcrConfiguration configuration = new JcrConfiguration(); - // Define the single in-memory repository source ... - configuration.repositorySource("Store") - .usingClass(InMemoryRepositorySource.class.getName()) - .loadedFromClasspath() - .setDescription("JCR Repository persistent store"); - // Define the JCR repository for the source ... - configuration.repository(REPOSITORY_SOURCE_NAME) - .setSource("Store") - .setOption(Option.PROJECT_NODE_TYPES, "false") - .addNodeTypes(getClass().getClassLoader().getResource("tck_test_types.cnd")); - // Save and build the engine ... - configuration.save(); - JcrEngine engine = configuration.build(); - engine.start(); - - // Print all of the problems from the engine configuration ... - for (Problem problem : engine.getProblems()) { - System.err.println(problem); - } - if (engine.getProblems().hasErrors()) { - throw new IllegalStateException("Problems starting JCR repository"); - } - - ExecutionContext executionContext = engine.getExecutionContext(); - executionContext.getNamespaceRegistry().register(TestLexicon.Namespace.PREFIX, TestLexicon.Namespace.URI); - - try { - repository = engine.getRepository(REPOSITORY_SOURCE_NAME); - - // Set up some sample nodes in the graph to match the expected test configuration - Graph graph = Graph.create(repository.getRepositorySourceName(), - engine.getRepositoryConnectionFactory(), - executionContext); - Path destinationPath = executionContext.getValueFactories().getPathFactory().createRootPath(); - // URI xmlContent = new File("src/test/resources/repositoryForTckTests.xml").toURI(); - URI xmlContent = getClass().getClassLoader().getResource("repositoryForTckTests.xml").toURI(); - graph.importXmlFrom(xmlContent).into(destinationPath); - - graph.createWorkspace().named("otherWorkspace"); - - } catch (Exception ex) { - // The TCK tries to quash this exception. Print it out to be more obvious. - ex.printStackTrace(); - throw new IllegalStateException("Failed to initialize the repository with text content.", ex); - } - } - - /** - * {@inheritDoc} - * - * @see org.apache.jackrabbit.test.RepositoryStub#getRepository() - */ - @Override - public JcrRepository getRepository() { - return repository; - } -} Index: dna-jcr/src/test/java/org/jboss/dna/jcr/InMemoryRepositoryStubTest.java =================================================================== --- dna-jcr/src/test/java/org/jboss/dna/jcr/InMemoryRepositoryStubTest.java (revision 1085) +++ dna-jcr/src/test/java/org/jboss/dna/jcr/InMemoryRepositoryStubTest.java (working copy) @@ -39,7 +39,7 @@ public void shouldStartRepositoryStub() throws IOException { Properties env = new Properties(); env.load(getClass().getClassLoader().getResourceAsStream("repositoryStubImpl.properties")); - InMemoryRepositoryStub stub = new InMemoryRepositoryStub(env); + DnaRepositoryStub stub = new DnaRepositoryStub(env); assertThat(stub.getRepository(), is(notNullValue())); } Index: dna-jcr/src/test/java/org/jboss/dna/jcr/JcrConfigurationTest.java =================================================================== --- dna-jcr/src/test/java/org/jboss/dna/jcr/JcrConfigurationTest.java (revision 1086) +++ dna-jcr/src/test/java/org/jboss/dna/jcr/JcrConfigurationTest.java (working copy) @@ -30,7 +30,7 @@ import static org.jboss.dna.graph.IsNodeWithProperty.hasProperty; import static org.junit.Assert.assertThat; import java.io.File; -import java.net.URL; +import java.io.InputStream; import java.util.HashMap; import java.util.Map; import java.util.UUID; @@ -332,8 +332,8 @@ assertThat(configuration.repository("Car Repository").getSource(), is("Cars")); // Load the node types from the CND file, and save the configuration ... - URL nodeTypesUrl = getClass().getClassLoader().getResource("tck_test_types.cnd"); - configuration.repository("Car Repository").addNodeTypes(nodeTypesUrl); + InputStream nodeTypes = getClass().getResourceAsStream("/tck/tck_test_types.cnd"); + configuration.repository("Car Repository").addNodeTypes(nodeTypes); configuration.save(); // Verify there were no problems loading the CND file ... Index: dna-jcr/src/test/resources/repositoryForTckTests.xml =================================================================== --- dna-jcr/src/test/resources/repositoryForTckTests.xml (revision 1085) +++ dna-jcr/src/test/resources/repositoryForTckTests.xml (working copy) @@ -1,52 +0,0 @@ - - - - - - - - - - - - - - - - - \ No newline at end of file Index: dna-jcr/src/test/resources/repositoryStubImpl.properties =================================================================== --- dna-jcr/src/test/resources/repositoryStubImpl.properties (revision 1085) +++ dna-jcr/src/test/resources/repositoryStubImpl.properties (working copy) @@ -1,58 +0,0 @@ -javax.jcr.tck.repository_stub_impl=org.jboss.dna.jcr.InMemoryRepositoryStub -javax.jcr.tck.testroot=/testroot -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=otherWorkspace -javax.jcr.tck.nodetype=nt\:unstructured -javax.jcr.tck.nodetype2=dnatest\:referenceableUnstructured -javax.jcr.tck.nodetypenochildren=dna:namespace -javax.jcr.tck.sourceFolderName=source -javax.jcr.tck.targetFolderName=target -javax.jcr.tck.rootNodeName=rootNode -javax.jcr.tck.propertySkipped=propertySkipped -javax.jcr.tck.propertyValueMayChange=propertyValueMayChange -javax.jcr.tck.nodeTypesTestNode=nodeTypesTestNode -javax.jcr.tck.mixinTypeTestNode=mixinTypeTestNode -javax.jcr.tck.propertyTypesTestNode=propertyTypesTestNode -javax.jcr.tck.sameNameChildrenTestNode=sameNameChildrenTestNode -javax.jcr.tck.multiValuePropertiesTestNode=multiValuePropertiesTestNode -javax.jcr.tck.referenceableNodeTestNode=referenceableNodeTestNode -javax.jcr.tck.orderChildrenTestNode=orderChildrenTestNode -javax.jcr.tck.namespaceTestNode=namespaceTestNode -javax.jcr.tck.sameNameSibsTrueNodeType=nt\:unstructured -javax.jcr.tck.sameNameSibsFalseNodeType=dnatest\:noSameNameSibs -javax.jcr.tck.sameNameSibsFalseChildNodeDefinition=dnatest\:noSameNameSibs -javax.jcr.tck.stringTestProperty=stringTestProperty -javax.jcr.tck.binaryTestProperty=binaryTestProperty -javax.jcr.tck.dateTestProperty=dateTestProperty -javax.jcr.tck.longTestProperty=longTestProperty -javax.jcr.tck.doubleTestProperty=doubleTestProperty -javax.jcr.tck.booleanTestProperty=booleanTestProperty -javax.jcr.tck.nameTestProperty=nameTestProperty -javax.jcr.tck.pathTestProperty=pathTestProperty -javax.jcr.tck.referenceTestProperty=referenceTestProperty -javax.jcr.tck.multiValueTestProperty=multiValueTestProperty -javax.jcr.tck.SetPropertyNodeTest.nodetype=dnatest\:referenceableUnstructured -javax.jcr.tck.NodeTest.testAddNodeItemExistsException.nodetype=dnatest\:noSameNameSibs -javax.jcr.tck.NodeOrderableChildNodesTest.nodetype2=dnatest\:referenceableUnstructured -javax.jcr.tck.SessionTest.testSaveContstraintViolationException.nodetype2=dnatest\:nodeWithMandatoryProperty -javax.jcr.tck.NodeTest.testRemoveMandatoryNode.nodetype2=dnatest\:nodeWithMandatoryChild -javax.jcr.tck.NodeTest.testRemoveMandatoryNode.nodename3=dnatest\:mandatoryChild -javax.jcr.tck.NodeTest.testSaveContstraintViolationException.nodetype2=dnatest\:nodeWithMandatoryProperty -javax.jcr.tck.NodeOrderableChildNodesTest.testOrderBeforeUnsupportedRepositoryOperationException.nodetype2=dnatest\:unorderableUnstructured -javax.jcr.tck.NodeOrderableChildNodesTest.testOrderBeforeUnsupportedRepositoryOperationException.nodetype3=dnatest\:unorderableUnstructured -# For some reason, this test assumes testNodeType doesn't allow children - most other tests assume that it does -javax.jcr.tck.SaveTest.nodetype=nt\:query -javax.jcr.tck.SetPropertyAssumeTypeTest.nodetype=dnatest\:setPropertyAssumeTypeTest - -# Test users -javax.jcr.tck.superuser.name=superuser -javax.jcr.tck.superuser.pwd=superuser -javax.jcr.tck.readwrite.name=readwrite -javax.jcr.tck.readwrite.pwd=readwrite -javax.jcr.tck.readonly.name=readonly -javax.jcr.tck.readonly.pwd=readonly \ No newline at end of file Index: dna-jcr/src/test/resources/repositoryStubImpl.properties =================================================================== --- dna-jcr/src/test/resources/repositoryStubImpl.properties (revision 0) +++ dna-jcr/src/test/resources/repositoryStubImpl.properties (revision 1085) @@ -0,0 +1,58 @@ +javax.jcr.tck.repository_stub_impl=org.jboss.dna.jcr.DnaRepositoryStub +javax.jcr.tck.testroot=/testroot +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=otherWorkspace +javax.jcr.tck.nodetype=nt\:unstructured +javax.jcr.tck.nodetype2=dnatest\:referenceableUnstructured +javax.jcr.tck.nodetypenochildren=dna:namespace +javax.jcr.tck.sourceFolderName=source +javax.jcr.tck.targetFolderName=target +javax.jcr.tck.rootNodeName=rootNode +javax.jcr.tck.propertySkipped=propertySkipped +javax.jcr.tck.propertyValueMayChange=propertyValueMayChange +javax.jcr.tck.nodeTypesTestNode=nodeTypesTestNode +javax.jcr.tck.mixinTypeTestNode=mixinTypeTestNode +javax.jcr.tck.propertyTypesTestNode=propertyTypesTestNode +javax.jcr.tck.sameNameChildrenTestNode=sameNameChildrenTestNode +javax.jcr.tck.multiValuePropertiesTestNode=multiValuePropertiesTestNode +javax.jcr.tck.referenceableNodeTestNode=referenceableNodeTestNode +javax.jcr.tck.orderChildrenTestNode=orderChildrenTestNode +javax.jcr.tck.namespaceTestNode=namespaceTestNode +javax.jcr.tck.sameNameSibsTrueNodeType=nt\:unstructured +javax.jcr.tck.sameNameSibsFalseNodeType=dnatest\:noSameNameSibs +javax.jcr.tck.sameNameSibsFalseChildNodeDefinition=dnatest\:noSameNameSibs +javax.jcr.tck.stringTestProperty=stringTestProperty +javax.jcr.tck.binaryTestProperty=binaryTestProperty +javax.jcr.tck.dateTestProperty=dateTestProperty +javax.jcr.tck.longTestProperty=longTestProperty +javax.jcr.tck.doubleTestProperty=doubleTestProperty +javax.jcr.tck.booleanTestProperty=booleanTestProperty +javax.jcr.tck.nameTestProperty=nameTestProperty +javax.jcr.tck.pathTestProperty=pathTestProperty +javax.jcr.tck.referenceTestProperty=referenceTestProperty +javax.jcr.tck.multiValueTestProperty=multiValueTestProperty +javax.jcr.tck.SetPropertyNodeTest.nodetype=dnatest\:referenceableUnstructured +javax.jcr.tck.NodeTest.testAddNodeItemExistsException.nodetype=dnatest\:noSameNameSibs +javax.jcr.tck.NodeOrderableChildNodesTest.nodetype2=dnatest\:referenceableUnstructured +javax.jcr.tck.SessionTest.testSaveContstraintViolationException.nodetype2=dnatest\:nodeWithMandatoryProperty +javax.jcr.tck.NodeTest.testRemoveMandatoryNode.nodetype2=dnatest\:nodeWithMandatoryChild +javax.jcr.tck.NodeTest.testRemoveMandatoryNode.nodename3=dnatest\:mandatoryChild +javax.jcr.tck.NodeTest.testSaveContstraintViolationException.nodetype2=dnatest\:nodeWithMandatoryProperty +javax.jcr.tck.NodeOrderableChildNodesTest.testOrderBeforeUnsupportedRepositoryOperationException.nodetype2=dnatest\:unorderableUnstructured +javax.jcr.tck.NodeOrderableChildNodesTest.testOrderBeforeUnsupportedRepositoryOperationException.nodetype3=dnatest\:unorderableUnstructured +# For some reason, this test assumes testNodeType doesn't allow children - most other tests assume that it does +javax.jcr.tck.SaveTest.nodetype=nt\:query +javax.jcr.tck.SetPropertyAssumeTypeTest.nodetype=dnatest\:setPropertyAssumeTypeTest + +# Test users +javax.jcr.tck.superuser.name=superuser +javax.jcr.tck.superuser.pwd=superuser +javax.jcr.tck.readwrite.name=readwrite +javax.jcr.tck.readwrite.pwd=readwrite +javax.jcr.tck.readonly.name=readonly +javax.jcr.tck.readonly.pwd=readonly \ No newline at end of file Index: dna-jcr/src/test/resources/security/tck_roles.properties =================================================================== --- dna-jcr/src/test/resources/security/tck_roles.properties (revision 1085) +++ dna-jcr/src/test/resources/security/tck_roles.properties (working copy) @@ -3,5 +3,5 @@ readwrite=readwrite readonly=readonly # default workspace name is the empty string -defaultonly=readwrite.Store.,readonly.Store.otherWorkspace +defaultonly=readwrite.Store.default,readonly.Store.otherWorkspace noaccess=readonly.Store.otherWorkspace Index: dna-jcr/src/test/resources/tck/default/configRepository.xml =================================================================== --- dna-jcr/src/test/resources/tck/default/configRepository.xml (revision 0) +++ dna-jcr/src/test/resources/tck/default/configRepository.xml (revision 0) @@ -0,0 +1,85 @@ + + + + + + + + + + + + Standard extension-based MIME type detector + + org.jboss.dna.graph.mimetype.ExtensionBasedMimeTypeDetector + + + + + + + + + + Store + + + + + + + + + + + + Property changes on: dna-jcr\src\test\resources\tck\default\configRepository.xml ___________________________________________________________________ Added: svn:keywords + Id Revision Index: dna-jcr/src/test/resources/tck/default/repositoryOverlay.properties =================================================================== --- dna-jcr/src/test/resources/tck/default/repositoryOverlay.properties (revision 0) +++ dna-jcr/src/test/resources/tck/default/repositoryOverlay.properties (revision 0) @@ -0,0 +1 @@ +# Placeholder for any overlaid properties for this repo configuration Index: dna-jcr/src/test/resources/tck_test_types.cnd =================================================================== --- dna-jcr/src/test/resources/tck_test_types.cnd (revision 1085) +++ dna-jcr/src/test/resources/tck_test_types.cnd (working copy) @@ -1,28 +0,0 @@ -/* - * Extra Node Types for JR TCK Test - */ - - - - - -[dnatest:noSameNameSibs] -+ * (nt:base) = nt:unstructured - -[dnatest:referenceableUnstructured] > nt:unstructured, mix:referenceable orderable - -[dnatest:nodeWithMandatoryProperty] > nt:unstructured, mix:referenceable -- dnatest:mandatoryString (*) mandatory copy - -[dnatest:nodeWithMandatoryChild] > nt:unstructured, mix:referenceable -+ dnatest:mandatoryChild (nt:base) = nt:unstructured mandatory version - -[dnatest:unorderableUnstructured] -- * (*) copy -- * (*) multiple copy -+ * (nt:base) = dnatest:unorderableUnstructured multiple version - -[dnatest:setPropertyAssumeTypeTest] -- prop1 (PATH) copy -- * (*) copy -- * (*) multiple copy