jackrabbit-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From edgarp...@apache.org
Subject svn commit: r294914 [6/6] - in /incubator/jackrabbit/trunk/contrib/jcr-commands: ./ applications/test/ applications/test/fs/ benchmarking/ src/cli/ src/java/ src/java/META-INF/ src/java/org/apache/jackrabbit/chain/ src/java/org/apache/jackrabbit/comman...
Date Tue, 04 Oct 2005 20:54:30 GMT
Added: incubator/jackrabbit/trunk/contrib/jcr-commands/src/test/org/apache/jackrabbit/command/cli/CommandsTest.java
URL: http://svn.apache.org/viewcvs/incubator/jackrabbit/trunk/contrib/jcr-commands/src/test/org/apache/jackrabbit/command/cli/CommandsTest.java?rev=294914&view=auto
==============================================================================
--- incubator/jackrabbit/trunk/contrib/jcr-commands/src/test/org/apache/jackrabbit/command/cli/CommandsTest.java (added)
+++ incubator/jackrabbit/trunk/contrib/jcr-commands/src/test/org/apache/jackrabbit/command/cli/CommandsTest.java Tue Oct  4 13:51:32 2005
@@ -0,0 +1,423 @@
+/*
+ * Copyright 2004-2005 The Apache Software Foundation or its licensors,
+ *                     as applicable.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.jackrabbit.command.cli;
+
+import java.util.Arrays;
+import java.util.Iterator;
+
+import javax.jcr.Credentials;
+import javax.jcr.Node;
+import javax.jcr.NodeIterator;
+import javax.jcr.Session;
+import javax.jcr.SimpleCredentials;
+import javax.jcr.version.Version;
+
+import junit.framework.TestCase;
+
+import org.apache.commons.chain.Catalog;
+import org.apache.commons.chain.Command;
+import org.apache.commons.chain.Context;
+import org.apache.commons.chain.config.ConfigParser;
+import org.apache.commons.chain.impl.CatalogFactoryBase;
+import org.apache.commons.chain.impl.ContextBase;
+import org.apache.commons.collections.IteratorUtils;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.apache.jackrabbit.command.CommandHelper;
+
+/**
+ * Commands Test superclass
+ */
+public class CommandsTest extends TestCase
+{
+	/** config */
+	protected static String CONFIG = "applications/test/repository.xml";
+
+	/** home */
+	protected static String HOME = "applications/test/repository";
+
+	Log log = LogFactory.getLog(CommandsTest.class);
+
+	static
+	{
+		try
+		{
+			ConfigParser parser = new ConfigParser();
+			parser.parse(JcrClient.class.getResource("command.xml"));
+		} catch (Exception e)
+		{
+			e.printStackTrace();
+		}
+	}
+
+	/** Context */
+	protected Context ctx = new ContextBase();
+
+	/** catalog */
+	protected Catalog catalog = CatalogFactoryBase.getInstance().getCatalog();
+
+	protected void setUp() throws Exception
+	{
+		super.setUp();
+
+		// Start
+		ctx.put("config", CONFIG);
+		ctx.put("home", HOME);
+		catalog.getCommand("startJackrabbitSingleton").execute(ctx);
+		assertTrue(CommandHelper.getRepository(ctx) != null);
+
+		// Login
+		ctx.put("user", "u");
+		ctx.put("password", "p");
+		catalog.getCommand("login").execute(ctx);
+		assertTrue(CommandHelper.getSession(ctx) != null);
+
+		// clear workspace
+		catalog.getCommand("clearWorkspace").execute(ctx);
+
+		// add test node
+		ctx.put("relPath", "test");
+		catalog.getCommand("addNode").execute(ctx);
+		ctx.remove("relPaht");
+
+		CommandHelper.getSession(ctx).save();
+	}
+
+	protected Session createNewSession() throws Exception
+	{
+		Credentials c = new SimpleCredentials("ed", "ed".toCharArray());
+		return CommandHelper.getRepository(ctx).login(c);
+	}
+
+	protected void tearDown() throws Exception
+	{
+		super.tearDown();
+		// clear workspace
+		catalog.getCommand("clearWorkspace").execute(ctx);
+		// save
+		CommandHelper.getSession(ctx).save();
+
+		// Logout
+		catalog.getCommand("logout").execute(ctx);
+
+		ctx.clear();
+
+	}
+
+	protected Node getRoot() throws Exception
+	{
+		return CommandHelper.getNode(ctx, "/");
+	}
+
+	protected Node getTestNode() throws Exception
+	{
+		return CommandHelper.getNode(ctx, "/test");
+	}
+
+	public void testOrderBefore() throws Exception
+	{
+		CommandHelper.setCurrentNode(ctx, getTestNode());
+		Node node1 = getTestNode().addNode("child");
+		Node node2 = getTestNode().addNode("child");
+		node1.setProperty("pos", 1);
+		node2.setProperty("pos", 2);
+		NodeIterator iter = getTestNode().getNodes("child");
+		assertTrue(iter.nextNode().isSame(node1));
+		assertTrue(iter.nextNode().isSame(node2));
+		ctx.put("srcChild", "child[2]");
+		ctx.put("destChild", "child[1]");
+		catalog.getCommand("orderBefore").execute(ctx);
+		iter = getTestNode().getNodes("child");
+		assertTrue(iter.nextNode().isSame(node2));
+		assertTrue(iter.nextNode().isSame(node1));
+	}
+
+	public void testMove() throws Exception
+	{
+		ctx.put("srcAbsPath", getTestNode().getPath());
+		ctx.put("destAbsPath", "/test2");
+		catalog.getCommand("move").execute(ctx);
+		assertTrue(CommandHelper.hasNode(ctx, "/test2"));
+	}
+
+	public void testReadValue() throws Exception
+	{
+		getTestNode().setProperty("prop", "val");
+		ctx.put("srcPath", getTestNode().getProperty("prop").getPath());
+		ctx.put("dest", "myKey");
+		catalog.getCommand("readValue").execute(ctx);
+		assertTrue(ctx.get("myKey").equals("val"));
+	}
+
+	public void testCurrentNode() throws Exception
+	{
+		ctx.put("path", getTestNode().getPath());
+		assertTrue(CommandHelper.getCurrentNode(ctx).getPath().equals("/"));
+		catalog.getCommand("currentNode").execute(ctx);
+		assertTrue(CommandHelper.getCurrentNode(ctx).getPath().equals(
+				getTestNode().getPath()));
+	}
+
+	public void testCopy() throws Exception
+	{
+		ctx.put("srcAbsPath", getTestNode().getPath());
+		ctx.put("destAbsPath", "/copy");
+		assertFalse(CommandHelper.hasNode(ctx, "/copy"));
+		catalog.getCommand("copy").execute(ctx);
+		assertTrue(CommandHelper.hasNode(ctx, "/copy"));
+	}
+
+	public void testCollect() throws Exception
+	{
+		Command items = catalog.getCommand("collectItems");
+
+		ctx.put("srcPath", "/");
+		ctx.put("depth", "1");
+		ctx.put("namePattern", "*");
+
+		assertTrue(ctx.get("collected") == null);
+		items.execute(ctx);
+		assertTrue(IteratorUtils.toList((Iterator) ctx.get("collected")).size() == 3);
+
+		ctx.put("scrPath", null);
+		items.execute(ctx);
+		assertTrue(IteratorUtils.toList((Iterator) ctx.get("collected")).size() == 3);
+
+		ctx.put("depth", "2");
+		items.execute(ctx);
+		assertTrue(IteratorUtils.toList((Iterator) ctx.get("collected")).size() == 7);
+
+		ctx.put("namePattern", null);
+		items.execute(ctx);
+		assertTrue(IteratorUtils.toList((Iterator) ctx.get("collected")).size() == 7);
+
+		ctx.put("namePattern", "jcr:primaryType");
+		items.execute(ctx);
+		assertTrue(IteratorUtils.toList((Iterator) ctx.get("collected")).size() == 3);
+
+	}
+
+	public void testRefresh() throws Exception
+	{
+		Node n = getTestNode();
+		assertFalse(n.hasNode("newNode"));
+		Session s = createNewSession();
+		s.getRootNode().getNode(getTestNode().getName()).addNode("newNode");
+		s.save();
+		s.logout();
+		ctx.put("keepChanges", Boolean.TRUE.toString());
+		catalog.getCommand("refresh").execute(ctx);
+		assertTrue(n.hasNode("newNode"));
+	}
+
+	public void testRemoveItem() throws Exception
+	{
+		Node n = getTestNode();
+		n.addNode("newNode");
+		assertTrue(n.hasNode("newNode"));
+		ctx.put("path", getTestNode().getPath() + "/newNode");
+		catalog.getCommand("removeItem").execute(ctx);
+		assertFalse(n.hasNode("newNode"));
+	}
+
+	public void testRemoveItems() throws Exception
+	{
+		Node n = getTestNode();
+		n.addNode("newNode1");
+		n.addNode("newNode2");
+		assertTrue(n.getNodes().getSize() == 2);
+		ctx.put("path", getTestNode().getPath());
+		ctx.put("pattern", "new*");
+		catalog.getCommand("removeItems").execute(ctx);
+		assertTrue(n.getNodes().getSize() == 0);
+	}
+
+	public void testRename() throws Exception
+	{
+		Node n = getTestNode();
+		CommandHelper.setCurrentNode(ctx, n);
+		n.addNode("name1");
+		ctx.put("srcPath", "name1");
+		ctx.put("destPath", "name2");
+		catalog.getCommand("rename").execute(ctx);
+		assertTrue(n.hasNode("name2"));
+	}
+
+	public void testSaveNode() throws Exception
+	{
+		Node n = getTestNode();
+		CommandHelper.setCurrentNode(ctx, n);
+		n.addNode("newNode");
+		ctx.put("path", n.getPath());
+		catalog.getCommand("save").execute(ctx);
+		CommandHelper.getSession(ctx).refresh(false);
+		assertTrue(n.hasNode("newNode"));
+	}
+
+	public void testSetMultiValueProperty() throws Exception
+	{
+		Node n = getTestNode();
+		CommandHelper.setCurrentNode(ctx, n);
+		ctx.put("name", "myprop");
+		ctx.put("value", "1,2");
+		ctx.put("regExp", ",");
+		catalog.getCommand("setMultiValueProperty").execute(ctx);
+		assertTrue(n.hasProperty("myprop"));
+		assertTrue(n.getProperty("myprop").getValues()[0].getString().equals(
+				"1"));
+		assertTrue(n.getProperty("myprop").getValues()[1].getString().equals(
+				"2"));
+	}
+
+	public void testSetProperty() throws Exception
+	{
+		Node n = getTestNode();
+		CommandHelper.setCurrentNode(ctx, n);
+		ctx.put("name", "myprop");
+		ctx.put("value", "myvalue");
+		catalog.getCommand("setProperty").execute(ctx);
+		assertTrue(n.hasProperty("myprop"));
+		assertTrue(n.getProperty("myprop").getValue().getString().equals(
+				"myvalue"));
+	}
+
+	public void testAddMixin() throws Exception
+	{
+		ctx.put("mixin", "mix:referenceable");
+		ctx.put("path", getTestNode().getPath());
+		catalog.getCommand("addMixin").execute(ctx);
+		assertTrue(getTestNode().isNodeType("mix:referenceable"));
+	}
+
+	public void testRemoveMixin() throws Exception
+	{
+		getTestNode().addMixin("mix:referenceable");
+		ctx.put("mixin", "mix:referenceable");
+		ctx.put("path", getTestNode().getPath());
+		catalog.getCommand("removeMixin").execute(ctx);
+		assertFalse(getTestNode().isNodeType("mix:referenceable"));
+	}
+
+	public void testNamespace() throws Exception
+	{
+		// ctx.put("prefix", "mycomp");
+		// ctx.put("uri", "http://mycomp");
+		// catalog.getCommand("registerNamespace").execute(ctx);
+		// assertTrue(getTestNode().getSession().getWorkspace()
+		// .getNamespaceRegistry().getURI("mycomp")
+		// .equals("http://mycomp"));
+	}
+
+	public void testCheckin() throws Exception
+	{
+		Node n = getTestNode();
+		n.addMixin("mix:versionable");
+		n.setProperty("prop", "value");
+		n.getSession().save();
+		ctx.put("path", n.getPath());
+		catalog.getCommand("checkin").execute(ctx);
+		// root version + checked in
+		assertFalse(n.isCheckedOut());
+	}
+
+	public void testCheckout() throws Exception
+	{
+		Node n = getTestNode();
+		n.addMixin("mix:versionable");
+		n.getSession().save();
+		n.checkin();
+		ctx.put("path", n.getPath());
+		catalog.getCommand("checkout").execute(ctx);
+		assertTrue(n.isCheckedOut());
+	}
+
+	public void testRemoveVersion() throws Exception
+	{
+		// Node n = getTestNode();
+		// n.addMixin("mix:versionable");
+		// n.getSession().save();
+		// n.checkin();
+		// ctx.put("path", n.getPath());
+		// ctx.put("name", "1.0");
+		// catalog.getCommand("removeVersion").execute(ctx);
+		// assertTrue(n.getVersionHistory().getAllVersions().getSize() == 1);
+	}
+
+	public void testAddVersionLabel() throws Exception
+	{
+		Node n = getTestNode();
+		n.addMixin("mix:versionable");
+		n.getSession().save();
+		n.checkin();
+		ctx.put("path", n.getPath());
+		ctx.put("version", "1.0");
+		ctx.put("label", "myversion");
+		ctx.put("moveLabel", Boolean.TRUE.toString());
+		catalog.getCommand("addVersionLabel").execute(ctx);
+		assertTrue(Arrays.asList(n.getVersionHistory().getVersionLabels())
+				.contains("myversion"));
+	}
+
+	public void testRemoveVersionLabel() throws Exception
+	{
+		Node n = getTestNode();
+		n.addMixin("mix:versionable");
+		n.getSession().save();
+		Version v = n.checkin();
+		n.getVersionHistory().addVersionLabel(v.getName(), "myversion", true);
+		ctx.put("path", n.getPath());
+		ctx.put("label", "myversion");
+		catalog.getCommand("removeVersionLabel").execute(ctx);
+		assertTrue(n.getVersionHistory().getVersionLabels().length == 0);
+	}
+
+	public void testRestore() throws Exception
+	{
+		Node n = getTestNode();
+		n.addMixin("mix:versionable");
+		n.getSession().save();
+		Version v = n.checkin();
+		n.checkout();
+		n.setProperty("newprop", "newval");
+		n.save();
+		ctx.put("path", n.getPath());
+		ctx.put("version", v.getName());
+		ctx.put("removeExisting", Boolean.TRUE.toString());
+		catalog.getCommand("restore").execute(ctx);
+		assertFalse(n.hasProperty("newprop"));
+	}
+
+	public void testRestoreByLabel() throws Exception
+	{
+		Node n = getTestNode();
+		n.addMixin("mix:versionable");
+		n.getSession().save();
+		Version v = n.checkin();
+		n.getVersionHistory().addVersionLabel(v.getName(), "myversion", true);
+		n.checkout();
+		n.setProperty("newprop", "newval");
+		n.save();
+		ctx.put("path", n.getPath());
+		ctx.put("label", "myversion");
+		ctx.put("removeExisting", Boolean.TRUE.toString());
+		catalog.getCommand("restoreByLabel").execute(ctx);
+		assertFalse(n.hasProperty("newprop"));
+	}
+
+	// TODO: add ext, fs, lock, query, versioning(only Merge), export test cases
+
+}

Propchange: incubator/jackrabbit/trunk/contrib/jcr-commands/src/test/org/apache/jackrabbit/command/cli/CommandsTest.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: incubator/jackrabbit/trunk/contrib/jcr-commands/src/test/org/apache/jackrabbit/command/cli/I18nTest.java
URL: http://svn.apache.org/viewcvs/incubator/jackrabbit/trunk/contrib/jcr-commands/src/test/org/apache/jackrabbit/command/cli/I18nTest.java?rev=294914&view=auto
==============================================================================
--- incubator/jackrabbit/trunk/contrib/jcr-commands/src/test/org/apache/jackrabbit/command/cli/I18nTest.java (added)
+++ incubator/jackrabbit/trunk/contrib/jcr-commands/src/test/org/apache/jackrabbit/command/cli/I18nTest.java Tue Oct  4 13:51:32 2005
@@ -0,0 +1,83 @@
+/*
+ * Copyright 2004-2005 The Apache Software Foundation or its licensors,
+ *                     as applicable.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.jackrabbit.command.cli;
+
+import java.util.Iterator;
+import java.util.MissingResourceException;
+
+import org.apache.jackrabbit.command.CommandException;
+
+import junit.framework.TestCase;
+
+/**
+ * I18n tests
+ */
+public class I18nTest extends TestCase
+{
+
+    public void testCommandLabels() throws CommandException
+    {
+        Iterator iter = CommandLineFactory.getInstance().getCommandLines()
+            .iterator();
+        while (iter.hasNext())
+        {
+            CommandLine cl = (CommandLine) iter.next();
+
+            Iterator params = cl.getAllParameters();
+            while (params.hasNext())
+            {
+                AbstractParameter param = (AbstractParameter) params.next();
+                try
+                {
+                    param.getLocalizedArgName();
+                } catch (MissingResourceException e)
+                {
+                    fail("no arg name for command " + cl.getName() + ". "
+                            + param.getName() + ". " + e.getMessage());
+                }
+                try
+                {
+                    param.getLocalizedDescription();
+                } catch (MissingResourceException e)
+                {
+                    fail("no description for argument " + param.getName()
+                            + " in command " + cl.getName() + "."
+                            + e.getMessage());
+                }
+            }
+        }
+    }
+
+    public void testCommandNames() throws CommandException
+    {
+        Iterator iter = CommandLineFactory.getInstance().getCommandLines()
+            .iterator();
+        while (iter.hasNext())
+        {
+            CommandLine cl = (CommandLine) iter.next();
+            try
+            {
+                cl.getLocalizedDescription();
+            } catch (MissingResourceException e)
+            {
+                fail("no description for command " + cl.getName() + ". "
+                        + e.getMessage());
+            }
+        }
+    }
+
+}

Propchange: incubator/jackrabbit/trunk/contrib/jcr-commands/src/test/org/apache/jackrabbit/command/cli/I18nTest.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: incubator/jackrabbit/trunk/contrib/jcr-commands/src/test/org/apache/jackrabbit/command/cli/JcrRmiServer.java
URL: http://svn.apache.org/viewcvs/incubator/jackrabbit/trunk/contrib/jcr-commands/src/test/org/apache/jackrabbit/command/cli/JcrRmiServer.java?rev=294914&view=auto
==============================================================================
--- incubator/jackrabbit/trunk/contrib/jcr-commands/src/test/org/apache/jackrabbit/command/cli/JcrRmiServer.java (added)
+++ incubator/jackrabbit/trunk/contrib/jcr-commands/src/test/org/apache/jackrabbit/command/cli/JcrRmiServer.java Tue Oct  4 13:51:32 2005
@@ -0,0 +1,57 @@
+/*
+ * Copyright 2004-2005 The Apache Software Foundation or its licensors,
+ *                     as applicable.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.jackrabbit.command.cli;
+
+import java.net.MalformedURLException;
+import java.rmi.AlreadyBoundException;
+import java.rmi.Naming;
+import java.rmi.RemoteException;
+
+import javax.jcr.Repository;
+import javax.jcr.RepositoryException;
+
+import org.apache.jackrabbit.core.RepositoryImpl;
+import org.apache.jackrabbit.core.config.RepositoryConfig;
+import org.apache.jackrabbit.rmi.remote.RemoteRepository;
+import org.apache.jackrabbit.rmi.server.RemoteAdapterFactory;
+import org.apache.jackrabbit.rmi.server.ServerAdapterFactory;
+
+/**
+ * 16/08/2005
+ */
+public class JcrRmiServer
+{
+    /** config */
+    private static String CONFIG = "applications/test/repository.xml";
+
+    /** home */
+    private static String HOME = "applications/test/repository";
+
+    /** rmi url */
+    private static String URL = "jcr/repository";
+
+    public static void main(String[] args) throws RepositoryException, MalformedURLException, RemoteException, AlreadyBoundException
+    {
+        RepositoryConfig conf = RepositoryConfig.create(CONFIG, HOME);
+        Repository repo = RepositoryImpl.create(conf);
+       
+        RemoteAdapterFactory factory = new ServerAdapterFactory();
+        RemoteRepository remote = factory.getRemoteRepository(repo);
+        Naming.bind(URL, remote);  
+        
+    }
+}

Propchange: incubator/jackrabbit/trunk/contrib/jcr-commands/src/test/org/apache/jackrabbit/command/cli/JcrRmiServer.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: incubator/jackrabbit/trunk/contrib/jcr-commands/src/test/org/apache/jackrabbit/command/cli/TestAll.java
URL: http://svn.apache.org/viewcvs/incubator/jackrabbit/trunk/contrib/jcr-commands/src/test/org/apache/jackrabbit/command/cli/TestAll.java?rev=294914&view=auto
==============================================================================
--- incubator/jackrabbit/trunk/contrib/jcr-commands/src/test/org/apache/jackrabbit/command/cli/TestAll.java (added)
+++ incubator/jackrabbit/trunk/contrib/jcr-commands/src/test/org/apache/jackrabbit/command/cli/TestAll.java Tue Oct  4 13:51:32 2005
@@ -0,0 +1,37 @@
+/*
+ * Copyright 2004-2005 The Apache Software Foundation or its licensors,
+ *                     as applicable.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.jackrabbit.command.cli;
+
+import junit.framework.Test;
+import junit.framework.TestSuite;
+
+public class TestAll
+{
+
+	public static Test suite()
+	{
+		TestSuite suite = new TestSuite(
+				"Test for org.apache.jackrabbit.command.cli");
+		//$JUnit-BEGIN$
+		suite.addTestSuite(I18nTest.class);
+		suite.addTestSuite(CommandsTest.class);
+		suite.addTestSuite(CliTest.class);
+		//$JUnit-END$
+		return suite;
+	}
+
+}

Propchange: incubator/jackrabbit/trunk/contrib/jcr-commands/src/test/org/apache/jackrabbit/command/cli/TestAll.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: incubator/jackrabbit/trunk/contrib/jcr-commands/xdocs/benchmarking.jmx
URL: http://svn.apache.org/viewcvs/incubator/jackrabbit/trunk/contrib/jcr-commands/xdocs/benchmarking.jmx?rev=294914&view=auto
==============================================================================
--- incubator/jackrabbit/trunk/contrib/jcr-commands/xdocs/benchmarking.jmx (added)
+++ incubator/jackrabbit/trunk/contrib/jcr-commands/xdocs/benchmarking.jmx Tue Oct  4 13:51:32 2005
@@ -0,0 +1,698 @@
+<jmeterTestPlan version="1.1" properties="1.7">
+  <hashTree>
+    <TestPlan>
+      <elementProp name="TestPlan.user_defined_variables" elementType="org.apache.jmeter.config.Arguments">
+        <stringProp name="TestElement.gui_class">org.apache.jmeter.config.gui.ArgumentsPanel</stringProp>
+        <stringProp name="TestElement.test_class">org.apache.jmeter.config.Arguments</stringProp>
+        <collectionProp name="Arguments.arguments"/>
+        <stringProp name="TestElement.name">User Defined Variables</stringProp>
+        <boolProp name="TestElement.enabled">true</boolProp>
+      </elementProp>
+      <stringProp name="TestElement.gui_class">org.apache.jmeter.control.gui.TestPlanGui</stringProp>
+      <boolProp name="TestPlan.serialize_threadgroups">false</boolProp>
+      <stringProp name="TestElement.test_class">org.apache.jmeter.testelement.TestPlan</stringProp>
+      <stringProp name="TestElement.name">Jackrabbit test plan</stringProp>
+      <boolProp name="TestPlan.functional_mode">false</boolProp>
+      <boolProp name="TestElement.enabled">true</boolProp>
+      <stringProp name="TestPlan.comments"></stringProp>
+    </TestPlan>
+    <hashTree>
+      <ThreadGroup>
+        <longProp name="ThreadGroup.start_time">1120257177000</longProp>
+        <stringProp name="TestElement.test_class">org.apache.jmeter.threads.ThreadGroup</stringProp>
+        <stringProp name="ThreadGroup.delay"></stringProp>
+        <stringProp name="ThreadGroup.duration"></stringProp>
+        <boolProp name="TestElement.enabled">true</boolProp>
+        <stringProp name="ThreadGroup.num_threads">1</stringProp>
+        <boolProp name="ThreadGroup.scheduler">false</boolProp>
+        <stringProp name="TestElement.gui_class">org.apache.jmeter.threads.gui.ThreadGroupGui</stringProp>
+        <elementProp name="ThreadGroup.main_controller" elementType="org.apache.jmeter.control.LoopController">
+          <stringProp name="TestElement.gui_class">org.apache.jmeter.control.gui.LoopControlPanel</stringProp>
+          <intProp name="LoopController.loops">-1</intProp>
+          <stringProp name="TestElement.test_class">org.apache.jmeter.control.LoopController</stringProp>
+          <stringProp name="TestElement.name">Loop Controller</stringProp>
+          <boolProp name="TestElement.enabled">true</boolProp>
+          <boolProp name="LoopController.continue_forever">false</boolProp>
+        </elementProp>
+        <stringProp name="TestElement.name">User writting</stringProp>
+        <longProp name="ThreadGroup.end_time">1120257177000</longProp>
+        <stringProp name="ThreadGroup.on_sample_error">stoptest</stringProp>
+        <stringProp name="ThreadGroup.ramp_time">1</stringProp>
+      </ThreadGroup>
+      <hashTree>
+        <org.apache.jmeter.protocol.java.sampler.ChainSampler>
+          <elementProp name="arguments" elementType="org.apache.jmeter.config.Arguments">
+            <stringProp name="TestElement.gui_class">org.apache.jmeter.config.gui.ArgumentsPanel</stringProp>
+            <stringProp name="TestElement.test_class">org.apache.jmeter.config.Arguments</stringProp>
+            <collectionProp name="Arguments.arguments">
+              <elementProp name="config" elementType="org.apache.jmeter.config.Argument">
+                <stringProp name="Argument.metadata">=</stringProp>
+                <stringProp name="Argument.value">/temp/repository/repository.xml</stringProp>
+                <stringProp name="Argument.name">config</stringProp>
+              </elementProp>
+              <elementProp name="home" elementType="org.apache.jmeter.config.Argument">
+                <stringProp name="Argument.metadata">=</stringProp>
+                <stringProp name="Argument.value">/temp/repository</stringProp>
+                <stringProp name="Argument.name">home</stringProp>
+              </elementProp>
+            </collectionProp>
+            <stringProp name="TestElement.name"></stringProp>
+            <boolProp name="TestElement.enabled">true</boolProp>
+          </elementProp>
+          <stringProp name="classname">org.apache.jackrabbit.chain.command.StartOrGetJackrabbitSingleton</stringProp>
+          <stringProp name="TestElement.gui_class">org.apache.jmeter.protocol.java.control.gui.ChainTestSamplerGui</stringProp>
+          <stringProp name="TestElement.test_class">org.apache.jmeter.protocol.java.sampler.ChainSampler</stringProp>
+          <stringProp name="TestElement.name">startup</stringProp>
+          <boolProp name="TestElement.enabled">true</boolProp>
+        </org.apache.jmeter.protocol.java.sampler.ChainSampler>
+        <hashTree/>
+        <org.apache.jmeter.protocol.java.sampler.ChainSampler>
+          <elementProp name="arguments" elementType="org.apache.jmeter.config.Arguments">
+            <stringProp name="TestElement.gui_class">org.apache.jmeter.config.gui.ArgumentsPanel</stringProp>
+            <stringProp name="TestElement.test_class">org.apache.jmeter.config.Arguments</stringProp>
+            <collectionProp name="Arguments.arguments">
+              <elementProp name="workspaceKey" elementType="org.apache.jmeter.config.Argument">
+                <stringProp name="Argument.metadata">=</stringProp>
+                <stringProp name="Argument.value"></stringProp>
+                <stringProp name="Argument.name">workspaceKey</stringProp>
+              </elementProp>
+              <elementProp name="password" elementType="org.apache.jmeter.config.Argument">
+                <stringProp name="Argument.metadata">=</stringProp>
+                <stringProp name="Argument.value">pwd</stringProp>
+                <stringProp name="Argument.name">password</stringProp>
+              </elementProp>
+              <elementProp name="user" elementType="org.apache.jmeter.config.Argument">
+                <stringProp name="Argument.metadata">=</stringProp>
+                <stringProp name="Argument.value">usr</stringProp>
+                <stringProp name="Argument.name">user</stringProp>
+              </elementProp>
+              <elementProp name="passwordKey" elementType="org.apache.jmeter.config.Argument">
+                <stringProp name="Argument.metadata">=</stringProp>
+                <stringProp name="Argument.value"></stringProp>
+                <stringProp name="Argument.name">passwordKey</stringProp>
+              </elementProp>
+              <elementProp name="workspace" elementType="org.apache.jmeter.config.Argument">
+                <stringProp name="Argument.metadata">=</stringProp>
+                <stringProp name="Argument.value"></stringProp>
+                <stringProp name="Argument.name">workspace</stringProp>
+              </elementProp>
+              <elementProp name="userKey" elementType="org.apache.jmeter.config.Argument">
+                <stringProp name="Argument.metadata">=</stringProp>
+                <stringProp name="Argument.value"></stringProp>
+                <stringProp name="Argument.name">userKey</stringProp>
+              </elementProp>
+            </collectionProp>
+            <stringProp name="TestElement.name"></stringProp>
+            <boolProp name="TestElement.enabled">true</boolProp>
+          </elementProp>
+          <stringProp name="classname">org.apache.jackrabbit.chain.command.Login</stringProp>
+          <stringProp name="TestElement.gui_class">org.apache.jmeter.protocol.java.control.gui.ChainTestSamplerGui</stringProp>
+          <stringProp name="TestElement.test_class">org.apache.jmeter.protocol.java.sampler.ChainSampler</stringProp>
+          <stringProp name="TestElement.name">login</stringProp>
+          <boolProp name="TestElement.enabled">true</boolProp>
+        </org.apache.jmeter.protocol.java.sampler.ChainSampler>
+        <hashTree/>
+        <OnceOnlyController>
+          <stringProp name="TestElement.gui_class">org.apache.jmeter.control.gui.OnceOnlyControllerGui</stringProp>
+          <stringProp name="TestElement.test_class">org.apache.jmeter.control.OnceOnlyController</stringProp>
+          <stringProp name="TestElement.name">Once Only Controller</stringProp>
+          <boolProp name="TestElement.enabled">true</boolProp>
+        </OnceOnlyController>
+        <hashTree>
+          <org.apache.jmeter.protocol.java.sampler.ChainSampler>
+            <elementProp name="arguments" elementType="org.apache.jmeter.config.Arguments">
+              <stringProp name="TestElement.gui_class">org.apache.jmeter.config.gui.ArgumentsPanel</stringProp>
+              <stringProp name="TestElement.test_class">org.apache.jmeter.config.Arguments</stringProp>
+              <collectionProp name="Arguments.arguments"/>
+              <stringProp name="TestElement.name"></stringProp>
+              <boolProp name="TestElement.enabled">true</boolProp>
+            </elementProp>
+            <stringProp name="classname">org.apache.jackrabbit.chain.command.ClearWorkspace</stringProp>
+            <stringProp name="TestElement.gui_class">org.apache.jmeter.protocol.java.control.gui.ChainTestSamplerGui</stringProp>
+            <stringProp name="TestElement.test_class">org.apache.jmeter.protocol.java.sampler.ChainSampler</stringProp>
+            <stringProp name="TestElement.name">clear workspace</stringProp>
+            <boolProp name="TestElement.enabled">true</boolProp>
+          </org.apache.jmeter.protocol.java.sampler.ChainSampler>
+          <hashTree/>
+        </hashTree>
+        <IfController>
+          <stringProp name="IfController.condition">${__jexl(vars.getObject(&quot;jcr.current&quot;).hasNode(&quot;test&quot;)==false)}</stringProp>
+          <stringProp name="TestElement.gui_class">org.apache.jmeter.control.gui.IfControllerPanel</stringProp>
+          <stringProp name="TestElement.test_class">org.apache.jmeter.control.IfController</stringProp>
+          <stringProp name="TestElement.name">If !hasNode()</stringProp>
+          <boolProp name="TestElement.enabled">true</boolProp>
+        </IfController>
+        <hashTree>
+          <org.apache.jmeter.protocol.java.sampler.ChainSampler>
+            <elementProp name="arguments" elementType="org.apache.jmeter.config.Arguments">
+              <stringProp name="TestElement.gui_class">org.apache.jmeter.config.gui.ArgumentsPanel</stringProp>
+              <stringProp name="TestElement.test_class">org.apache.jmeter.config.Arguments</stringProp>
+              <collectionProp name="Arguments.arguments">
+                <elementProp name="nodeTypeKey" elementType="org.apache.jmeter.config.Argument">
+                  <stringProp name="Argument.metadata">=</stringProp>
+                  <stringProp name="Argument.value"></stringProp>
+                  <stringProp name="Argument.name">nodeTypeKey</stringProp>
+                </elementProp>
+                <elementProp name="nodeNameKey" elementType="org.apache.jmeter.config.Argument">
+                  <stringProp name="Argument.metadata">=</stringProp>
+                  <stringProp name="Argument.value"></stringProp>
+                  <stringProp name="Argument.name">nodeNameKey</stringProp>
+                </elementProp>
+                <elementProp name="nodeName" elementType="org.apache.jmeter.config.Argument">
+                  <stringProp name="Argument.metadata">=</stringProp>
+                  <stringProp name="Argument.value">test</stringProp>
+                  <stringProp name="Argument.name">nodeName</stringProp>
+                </elementProp>
+                <elementProp name="nodeType" elementType="org.apache.jmeter.config.Argument">
+                  <stringProp name="Argument.metadata">=</stringProp>
+                  <stringProp name="Argument.value"></stringProp>
+                  <stringProp name="Argument.name">nodeType</stringProp>
+                </elementProp>
+              </collectionProp>
+              <stringProp name="TestElement.name"></stringProp>
+              <boolProp name="TestElement.enabled">true</boolProp>
+            </elementProp>
+            <stringProp name="classname">org.apache.jackrabbit.chain.command.AddNode</stringProp>
+            <stringProp name="TestElement.gui_class">org.apache.jmeter.protocol.java.control.gui.ChainTestSamplerGui</stringProp>
+            <stringProp name="TestElement.test_class">org.apache.jmeter.protocol.java.sampler.ChainSampler</stringProp>
+            <stringProp name="TestElement.name">Add test node</stringProp>
+            <boolProp name="TestElement.enabled">true</boolProp>
+          </org.apache.jmeter.protocol.java.sampler.ChainSampler>
+          <hashTree/>
+        </hashTree>
+        <org.apache.jmeter.protocol.java.sampler.ChainSampler>
+          <elementProp name="arguments" elementType="org.apache.jmeter.config.Arguments">
+            <stringProp name="TestElement.gui_class">org.apache.jmeter.config.gui.ArgumentsPanel</stringProp>
+            <stringProp name="TestElement.test_class">org.apache.jmeter.config.Arguments</stringProp>
+            <collectionProp name="Arguments.arguments">
+              <elementProp name="pathKey" elementType="org.apache.jmeter.config.Argument">
+                <stringProp name="Argument.metadata">=</stringProp>
+                <stringProp name="Argument.value"></stringProp>
+                <stringProp name="Argument.name">pathKey</stringProp>
+              </elementProp>
+              <elementProp name="path" elementType="org.apache.jmeter.config.Argument">
+                <stringProp name="Argument.metadata">=</stringProp>
+                <stringProp name="Argument.value">/test</stringProp>
+                <stringProp name="Argument.name">path</stringProp>
+              </elementProp>
+            </collectionProp>
+            <stringProp name="TestElement.name"></stringProp>
+            <boolProp name="TestElement.enabled">true</boolProp>
+          </elementProp>
+          <stringProp name="classname">org.apache.jackrabbit.chain.command.CurrentNode</stringProp>
+          <stringProp name="TestElement.gui_class">org.apache.jmeter.protocol.java.control.gui.ChainTestSamplerGui</stringProp>
+          <stringProp name="TestElement.test_class">org.apache.jmeter.protocol.java.sampler.ChainSampler</stringProp>
+          <stringProp name="TestElement.name">cd test</stringProp>
+          <boolProp name="TestElement.enabled">true</boolProp>
+        </org.apache.jmeter.protocol.java.sampler.ChainSampler>
+        <hashTree/>
+        <org.apache.jmeter.protocol.java.sampler.ChainSampler>
+          <elementProp name="arguments" elementType="org.apache.jmeter.config.Arguments">
+            <stringProp name="TestElement.gui_class">org.apache.jmeter.config.gui.ArgumentsPanel</stringProp>
+            <stringProp name="TestElement.test_class">org.apache.jmeter.config.Arguments</stringProp>
+            <collectionProp name="Arguments.arguments">
+              <elementProp name="value" elementType="org.apache.jmeter.config.Argument">
+                <stringProp name="Argument.metadata">=</stringProp>
+                <stringProp name="Argument.value">my property value</stringProp>
+                <stringProp name="Argument.name">value</stringProp>
+              </elementProp>
+              <elementProp name="propertyTypeKey" elementType="org.apache.jmeter.config.Argument">
+                <stringProp name="Argument.metadata">=</stringProp>
+                <stringProp name="Argument.value"></stringProp>
+                <stringProp name="Argument.name">propertyTypeKey</stringProp>
+              </elementProp>
+              <elementProp name="propertyName" elementType="org.apache.jmeter.config.Argument">
+                <stringProp name="Argument.metadata">=</stringProp>
+                <stringProp name="Argument.value">myprop</stringProp>
+                <stringProp name="Argument.name">propertyName</stringProp>
+              </elementProp>
+              <elementProp name="propertyType" elementType="org.apache.jmeter.config.Argument">
+                <stringProp name="Argument.metadata">=</stringProp>
+                <stringProp name="Argument.value">String</stringProp>
+                <stringProp name="Argument.name">propertyType</stringProp>
+              </elementProp>
+              <elementProp name="propertyNameKey" elementType="org.apache.jmeter.config.Argument">
+                <stringProp name="Argument.metadata">=</stringProp>
+                <stringProp name="Argument.value"></stringProp>
+                <stringProp name="Argument.name">propertyNameKey</stringProp>
+              </elementProp>
+              <elementProp name="valueKey" elementType="org.apache.jmeter.config.Argument">
+                <stringProp name="Argument.metadata">=</stringProp>
+                <stringProp name="Argument.value"></stringProp>
+                <stringProp name="Argument.name">valueKey</stringProp>
+              </elementProp>
+            </collectionProp>
+            <stringProp name="TestElement.name"></stringProp>
+            <boolProp name="TestElement.enabled">true</boolProp>
+          </elementProp>
+          <stringProp name="classname">org.apache.jackrabbit.chain.command.SetProperty</stringProp>
+          <stringProp name="TestElement.gui_class">org.apache.jmeter.protocol.java.control.gui.ChainTestSamplerGui</stringProp>
+          <stringProp name="TestElement.test_class">org.apache.jmeter.protocol.java.sampler.ChainSampler</stringProp>
+          <stringProp name="TestElement.name">add property</stringProp>
+          <boolProp name="TestElement.enabled">true</boolProp>
+        </org.apache.jmeter.protocol.java.sampler.ChainSampler>
+        <hashTree/>
+        <GenericController>
+          <stringProp name="TestElement.gui_class">org.apache.jmeter.control.gui.LogicControllerGui</stringProp>
+          <stringProp name="TestElement.test_class">org.apache.jmeter.control.GenericController</stringProp>
+          <stringProp name="TestElement.name">Add 10 nodes</stringProp>
+          <boolProp name="TestElement.enabled">true</boolProp>
+        </GenericController>
+        <hashTree>
+          <CounterConfig>
+            <stringProp name="CounterConfig.start">0</stringProp>
+            <stringProp name="TestElement.gui_class">org.apache.jmeter.modifiers.gui.CounterConfigGui</stringProp>
+            <stringProp name="CounterConfig.incr">1</stringProp>
+            <stringProp name="CounterConfig.name">counter</stringProp>
+            <stringProp name="TestElement.test_class">org.apache.jmeter.modifiers.CounterConfig</stringProp>
+            <stringProp name="TestElement.name">counter</stringProp>
+            <boolProp name="CounterConfig.per_user">true</boolProp>
+            <stringProp name="CounterConfig.end"></stringProp>
+            <boolProp name="TestElement.enabled">true</boolProp>
+          </CounterConfig>
+          <hashTree/>
+          <LoopController>
+            <stringProp name="TestElement.gui_class">org.apache.jmeter.control.gui.LoopControlPanel</stringProp>
+            <stringProp name="LoopController.loops">10</stringProp>
+            <stringProp name="TestElement.test_class">org.apache.jmeter.control.LoopController</stringProp>
+            <stringProp name="TestElement.name">do 10 times</stringProp>
+            <boolProp name="TestElement.enabled">true</boolProp>
+            <boolProp name="LoopController.continue_forever">true</boolProp>
+          </LoopController>
+          <hashTree>
+            <org.apache.jmeter.protocol.java.sampler.ChainSampler>
+              <elementProp name="arguments" elementType="org.apache.jmeter.config.Arguments">
+                <stringProp name="TestElement.gui_class">org.apache.jmeter.config.gui.ArgumentsPanel</stringProp>
+                <stringProp name="TestElement.test_class">org.apache.jmeter.config.Arguments</stringProp>
+                <collectionProp name="Arguments.arguments">
+                  <elementProp name="nodeTypeKey" elementType="org.apache.jmeter.config.Argument">
+                    <stringProp name="Argument.metadata">=</stringProp>
+                    <stringProp name="Argument.value"></stringProp>
+                    <stringProp name="Argument.name">nodeTypeKey</stringProp>
+                  </elementProp>
+                  <elementProp name="nodeNameKey" elementType="org.apache.jmeter.config.Argument">
+                    <stringProp name="Argument.metadata">=</stringProp>
+                    <stringProp name="Argument.value"></stringProp>
+                    <stringProp name="Argument.name">nodeNameKey</stringProp>
+                  </elementProp>
+                  <elementProp name="nodeName" elementType="org.apache.jmeter.config.Argument">
+                    <stringProp name="Argument.metadata">=</stringProp>
+                    <stringProp name="Argument.value">testnode${counter}</stringProp>
+                    <stringProp name="Argument.name">nodeName</stringProp>
+                  </elementProp>
+                  <elementProp name="nodeType" elementType="org.apache.jmeter.config.Argument">
+                    <stringProp name="Argument.metadata">=</stringProp>
+                    <stringProp name="Argument.value"></stringProp>
+                    <stringProp name="Argument.name">nodeType</stringProp>
+                  </elementProp>
+                </collectionProp>
+                <stringProp name="TestElement.name"></stringProp>
+                <boolProp name="TestElement.enabled">true</boolProp>
+              </elementProp>
+              <stringProp name="classname">org.apache.jackrabbit.chain.command.AddNode</stringProp>
+              <stringProp name="TestElement.gui_class">org.apache.jmeter.protocol.java.control.gui.ChainTestSamplerGui</stringProp>
+              <stringProp name="TestElement.test_class">org.apache.jmeter.protocol.java.sampler.ChainSampler</stringProp>
+              <stringProp name="TestElement.name">add node</stringProp>
+              <boolProp name="TestElement.enabled">true</boolProp>
+            </org.apache.jmeter.protocol.java.sampler.ChainSampler>
+            <hashTree/>
+          </hashTree>
+        </hashTree>
+        <ConstantTimer>
+          <stringProp name="TestElement.gui_class">org.apache.jmeter.timers.gui.ConstantTimerGui</stringProp>
+          <stringProp name="TestElement.test_class">org.apache.jmeter.timers.ConstantTimer</stringProp>
+          <stringProp name="TestElement.name">pause</stringProp>
+          <boolProp name="TestElement.enabled">true</boolProp>
+          <stringProp name="ConstantTimer.delay">200</stringProp>
+        </ConstantTimer>
+        <hashTree/>
+        <org.apache.jmeter.protocol.java.sampler.ChainSampler>
+          <elementProp name="arguments" elementType="org.apache.jmeter.config.Arguments">
+            <stringProp name="TestElement.gui_class">org.apache.jmeter.config.gui.ArgumentsPanel</stringProp>
+            <stringProp name="TestElement.test_class">org.apache.jmeter.config.Arguments</stringProp>
+            <collectionProp name="Arguments.arguments"/>
+            <stringProp name="TestElement.name"></stringProp>
+            <boolProp name="TestElement.enabled">true</boolProp>
+          </elementProp>
+          <stringProp name="classname">org.apache.jackrabbit.chain.command.SaveSession</stringProp>
+          <stringProp name="TestElement.gui_class">org.apache.jmeter.protocol.java.control.gui.ChainTestSamplerGui</stringProp>
+          <stringProp name="TestElement.test_class">org.apache.jmeter.protocol.java.sampler.ChainSampler</stringProp>
+          <stringProp name="TestElement.name">save</stringProp>
+          <boolProp name="TestElement.enabled">true</boolProp>
+        </org.apache.jmeter.protocol.java.sampler.ChainSampler>
+        <hashTree/>
+        <org.apache.jmeter.protocol.java.sampler.ChainSampler>
+          <elementProp name="arguments" elementType="org.apache.jmeter.config.Arguments">
+            <stringProp name="TestElement.gui_class">org.apache.jmeter.config.gui.ArgumentsPanel</stringProp>
+            <stringProp name="TestElement.test_class">org.apache.jmeter.config.Arguments</stringProp>
+            <collectionProp name="Arguments.arguments"/>
+            <stringProp name="TestElement.name"></stringProp>
+            <boolProp name="TestElement.enabled">true</boolProp>
+          </elementProp>
+          <stringProp name="classname">org.apache.jackrabbit.chain.command.Logout</stringProp>
+          <stringProp name="TestElement.gui_class">org.apache.jmeter.protocol.java.control.gui.ChainTestSamplerGui</stringProp>
+          <stringProp name="TestElement.test_class">org.apache.jmeter.protocol.java.sampler.ChainSampler</stringProp>
+          <stringProp name="TestElement.name">logout</stringProp>
+          <boolProp name="TestElement.enabled">true</boolProp>
+        </org.apache.jmeter.protocol.java.sampler.ChainSampler>
+        <hashTree/>
+        <ResultCollector>
+          <stringProp name="TestElement.gui_class">org.apache.jmeter.visualizers.StatVisualizer</stringProp>
+          <stringProp name="TestElement.test_class">org.apache.jmeter.reporters.ResultCollector</stringProp>
+          <stringProp name="TestElement.name">Aggregate Report</stringProp>
+          <objProp>
+            <value class="org.apache.jmeter.samplers.SampleSaveConfiguration">
+              <time>true</time>
+              <latency>true</latency>
+              <timestamp>true</timestamp>
+              <success>true</success>
+              <label>true</label>
+              <code>true</code>
+              <message>true</message>
+              <threadName>true</threadName>
+              <dataType>true</dataType>
+              <encoding>false</encoding>
+              <assertions>true</assertions>
+              <subresults>true</subresults>
+              <responseData>false</responseData>
+              <samplerData>false</samplerData>
+              <xml>true</xml>
+              <fieldNames>false</fieldNames>
+              <responseHeaders>false</responseHeaders>
+              <requestHeaders>false</requestHeaders>
+              <responseDataOnError>false</responseDataOnError>
+              <saveAssertionResultsFailureMessage>false</saveAssertionResultsFailureMessage>
+              <assertionsResultsToSave>0</assertionsResultsToSave>
+              <delimiter>,</delimiter>
+              <printMilliseconds>true</printMilliseconds>
+            </value>
+            <name>saveConfig</name>
+          </objProp>
+          <boolProp name="TestElement.enabled">true</boolProp>
+          <stringProp name="filename"></stringProp>
+          <boolProp name="ResultCollector.error_logging">false</boolProp>
+        </ResultCollector>
+        <hashTree/>
+      </hashTree>
+      <ThreadGroup>
+        <longProp name="ThreadGroup.start_time">1120257177000</longProp>
+        <stringProp name="TestElement.test_class">org.apache.jmeter.threads.ThreadGroup</stringProp>
+        <stringProp name="ThreadGroup.delay"></stringProp>
+        <stringProp name="ThreadGroup.duration"></stringProp>
+        <boolProp name="TestElement.enabled">true</boolProp>
+        <stringProp name="ThreadGroup.num_threads">2</stringProp>
+        <boolProp name="ThreadGroup.scheduler">false</boolProp>
+        <stringProp name="TestElement.gui_class">org.apache.jmeter.threads.gui.ThreadGroupGui</stringProp>
+        <elementProp name="ThreadGroup.main_controller" elementType="org.apache.jmeter.control.LoopController">
+          <stringProp name="TestElement.gui_class">org.apache.jmeter.control.gui.LoopControlPanel</stringProp>
+          <intProp name="LoopController.loops">-1</intProp>
+          <stringProp name="TestElement.test_class">org.apache.jmeter.control.LoopController</stringProp>
+          <stringProp name="TestElement.name">Loop Controller</stringProp>
+          <boolProp name="TestElement.enabled">true</boolProp>
+          <boolProp name="LoopController.continue_forever">false</boolProp>
+        </elementProp>
+        <stringProp name="TestElement.name">2 Users reading</stringProp>
+        <longProp name="ThreadGroup.end_time">1120257177000</longProp>
+        <stringProp name="ThreadGroup.on_sample_error">continue</stringProp>
+        <stringProp name="ThreadGroup.ramp_time">2</stringProp>
+      </ThreadGroup>
+      <hashTree>
+        <org.apache.jmeter.protocol.java.sampler.ChainSampler>
+          <elementProp name="arguments" elementType="org.apache.jmeter.config.Arguments">
+            <stringProp name="TestElement.gui_class">org.apache.jmeter.config.gui.ArgumentsPanel</stringProp>
+            <stringProp name="TestElement.test_class">org.apache.jmeter.config.Arguments</stringProp>
+            <collectionProp name="Arguments.arguments">
+              <elementProp name="config" elementType="org.apache.jmeter.config.Argument">
+                <stringProp name="Argument.metadata">=</stringProp>
+                <stringProp name="Argument.value">/temp/repository/repository.xml</stringProp>
+                <stringProp name="Argument.name">config</stringProp>
+              </elementProp>
+              <elementProp name="home" elementType="org.apache.jmeter.config.Argument">
+                <stringProp name="Argument.metadata">=</stringProp>
+                <stringProp name="Argument.value">/temp/repository</stringProp>
+                <stringProp name="Argument.name">home</stringProp>
+              </elementProp>
+            </collectionProp>
+            <stringProp name="TestElement.name"></stringProp>
+            <boolProp name="TestElement.enabled">true</boolProp>
+          </elementProp>
+          <stringProp name="classname">org.apache.jackrabbit.chain.command.StartOrGetJackrabbitSingleton</stringProp>
+          <stringProp name="TestElement.gui_class">org.apache.jmeter.protocol.java.control.gui.ChainTestSamplerGui</stringProp>
+          <stringProp name="TestElement.test_class">org.apache.jmeter.protocol.java.sampler.ChainSampler</stringProp>
+          <stringProp name="TestElement.name">startup</stringProp>
+          <boolProp name="TestElement.enabled">true</boolProp>
+        </org.apache.jmeter.protocol.java.sampler.ChainSampler>
+        <hashTree/>
+        <org.apache.jmeter.protocol.java.sampler.ChainSampler>
+          <elementProp name="arguments" elementType="org.apache.jmeter.config.Arguments">
+            <stringProp name="TestElement.gui_class">org.apache.jmeter.config.gui.ArgumentsPanel</stringProp>
+            <stringProp name="TestElement.test_class">org.apache.jmeter.config.Arguments</stringProp>
+            <collectionProp name="Arguments.arguments">
+              <elementProp name="workspaceKey" elementType="org.apache.jmeter.config.Argument">
+                <stringProp name="Argument.metadata">=</stringProp>
+                <stringProp name="Argument.value"></stringProp>
+                <stringProp name="Argument.name">workspaceKey</stringProp>
+              </elementProp>
+              <elementProp name="password" elementType="org.apache.jmeter.config.Argument">
+                <stringProp name="Argument.metadata">=</stringProp>
+                <stringProp name="Argument.value">user1</stringProp>
+                <stringProp name="Argument.name">password</stringProp>
+              </elementProp>
+              <elementProp name="user" elementType="org.apache.jmeter.config.Argument">
+                <stringProp name="Argument.metadata">=</stringProp>
+                <stringProp name="Argument.value">psw1</stringProp>
+                <stringProp name="Argument.name">user</stringProp>
+              </elementProp>
+              <elementProp name="passwordKey" elementType="org.apache.jmeter.config.Argument">
+                <stringProp name="Argument.metadata">=</stringProp>
+                <stringProp name="Argument.value"></stringProp>
+                <stringProp name="Argument.name">passwordKey</stringProp>
+              </elementProp>
+              <elementProp name="workspace" elementType="org.apache.jmeter.config.Argument">
+                <stringProp name="Argument.metadata">=</stringProp>
+                <stringProp name="Argument.value"></stringProp>
+                <stringProp name="Argument.name">workspace</stringProp>
+              </elementProp>
+              <elementProp name="userKey" elementType="org.apache.jmeter.config.Argument">
+                <stringProp name="Argument.metadata">=</stringProp>
+                <stringProp name="Argument.value"></stringProp>
+                <stringProp name="Argument.name">userKey</stringProp>
+              </elementProp>
+            </collectionProp>
+            <stringProp name="TestElement.name"></stringProp>
+            <boolProp name="TestElement.enabled">true</boolProp>
+          </elementProp>
+          <stringProp name="classname">org.apache.jackrabbit.chain.command.Login</stringProp>
+          <stringProp name="TestElement.gui_class">org.apache.jmeter.protocol.java.control.gui.ChainTestSamplerGui</stringProp>
+          <stringProp name="TestElement.test_class">org.apache.jmeter.protocol.java.sampler.ChainSampler</stringProp>
+          <stringProp name="TestElement.name">login</stringProp>
+          <boolProp name="TestElement.enabled">true</boolProp>
+        </org.apache.jmeter.protocol.java.sampler.ChainSampler>
+        <hashTree/>
+        <org.apache.jmeter.protocol.java.sampler.ChainSampler>
+          <elementProp name="arguments" elementType="org.apache.jmeter.config.Arguments">
+            <stringProp name="TestElement.gui_class">org.apache.jmeter.config.gui.ArgumentsPanel</stringProp>
+            <stringProp name="TestElement.test_class">org.apache.jmeter.config.Arguments</stringProp>
+            <collectionProp name="Arguments.arguments">
+              <elementProp name="pathKey" elementType="org.apache.jmeter.config.Argument">
+                <stringProp name="Argument.metadata">=</stringProp>
+                <stringProp name="Argument.value"></stringProp>
+                <stringProp name="Argument.name">pathKey</stringProp>
+              </elementProp>
+              <elementProp name="path" elementType="org.apache.jmeter.config.Argument">
+                <stringProp name="Argument.metadata">=</stringProp>
+                <stringProp name="Argument.value">/test</stringProp>
+                <stringProp name="Argument.name">path</stringProp>
+              </elementProp>
+            </collectionProp>
+            <stringProp name="TestElement.name"></stringProp>
+            <boolProp name="TestElement.enabled">true</boolProp>
+          </elementProp>
+          <stringProp name="classname">org.apache.jackrabbit.chain.command.CurrentNode</stringProp>
+          <stringProp name="TestElement.gui_class">org.apache.jmeter.protocol.java.control.gui.ChainTestSamplerGui</stringProp>
+          <stringProp name="TestElement.test_class">org.apache.jmeter.protocol.java.sampler.ChainSampler</stringProp>
+          <stringProp name="TestElement.name">cd test</stringProp>
+          <boolProp name="TestElement.enabled">true</boolProp>
+        </org.apache.jmeter.protocol.java.sampler.ChainSampler>
+        <hashTree/>
+        <org.apache.jmeter.protocol.java.sampler.ChainSampler>
+          <elementProp name="arguments" elementType="org.apache.jmeter.config.Arguments">
+            <stringProp name="TestElement.gui_class">org.apache.jmeter.config.gui.ArgumentsPanel</stringProp>
+            <stringProp name="TestElement.test_class">org.apache.jmeter.config.Arguments</stringProp>
+            <collectionProp name="Arguments.arguments">
+              <elementProp name="depthKey" elementType="org.apache.jmeter.config.Argument">
+                <stringProp name="Argument.metadata">=</stringProp>
+                <stringProp name="Argument.value"></stringProp>
+                <stringProp name="Argument.name">depthKey</stringProp>
+              </elementProp>
+              <elementProp name="namePatternKey" elementType="org.apache.jmeter.config.Argument">
+                <stringProp name="Argument.metadata">=</stringProp>
+                <stringProp name="Argument.value"></stringProp>
+                <stringProp name="Argument.name">namePatternKey</stringProp>
+              </elementProp>
+              <elementProp name="namePattern" elementType="org.apache.jmeter.config.Argument">
+                <stringProp name="Argument.metadata">=</stringProp>
+                <stringProp name="Argument.value">*</stringProp>
+                <stringProp name="Argument.name">namePattern</stringProp>
+              </elementProp>
+              <elementProp name="depth" elementType="org.apache.jmeter.config.Argument">
+                <stringProp name="Argument.metadata">=</stringProp>
+                <stringProp name="Argument.value">1</stringProp>
+                <stringProp name="Argument.name">depth</stringProp>
+              </elementProp>
+              <elementProp name="toKey" elementType="org.apache.jmeter.config.Argument">
+                <stringProp name="Argument.metadata">=</stringProp>
+                <stringProp name="Argument.value">children</stringProp>
+                <stringProp name="Argument.name">toKey</stringProp>
+              </elementProp>
+            </collectionProp>
+            <stringProp name="TestElement.name"></stringProp>
+            <boolProp name="TestElement.enabled">true</boolProp>
+          </elementProp>
+          <stringProp name="classname">org.apache.jackrabbit.chain.command.CollectNodes</stringProp>
+          <stringProp name="TestElement.gui_class">org.apache.jmeter.protocol.java.control.gui.ChainTestSamplerGui</stringProp>
+          <stringProp name="TestElement.test_class">org.apache.jmeter.protocol.java.sampler.ChainSampler</stringProp>
+          <stringProp name="TestElement.name">collect nodes</stringProp>
+          <boolProp name="TestElement.enabled">true</boolProp>
+        </org.apache.jmeter.protocol.java.sampler.ChainSampler>
+        <hashTree/>
+        <org.apache.jmeter.control.WhileController>
+          <stringProp name="TestElement.gui_class">org.apache.jmeter.control.gui.WhileControllerGui</stringProp>
+          <stringProp name="TestElement.test_class">org.apache.jmeter.control.WhileController</stringProp>
+          <stringProp name="TestElement.name">While has next child</stringProp>
+          <boolProp name="TestElement.enabled">true</boolProp>
+          <stringProp name="WhileController.condition">${__jexl(vars.getObject(&quot;children&quot;).hasNext())}</stringProp>
+        </org.apache.jmeter.control.WhileController>
+        <hashTree>
+          <org.apache.jmeter.protocol.java.sampler.ChainSampler>
+            <elementProp name="arguments" elementType="org.apache.jmeter.config.Arguments">
+              <stringProp name="TestElement.gui_class">org.apache.jmeter.config.gui.ArgumentsPanel</stringProp>
+              <stringProp name="TestElement.test_class">org.apache.jmeter.config.Arguments</stringProp>
+              <collectionProp name="Arguments.arguments">
+                <elementProp name="pathKey" elementType="org.apache.jmeter.config.Argument">
+                  <stringProp name="Argument.metadata">=</stringProp>
+                  <stringProp name="Argument.value"></stringProp>
+                  <stringProp name="Argument.name">pathKey</stringProp>
+                </elementProp>
+                <elementProp name="path" elementType="org.apache.jmeter.config.Argument">
+                  <stringProp name="Argument.metadata">=</stringProp>
+                  <stringProp name="Argument.value">${__jexl(vars.getObject(&quot;children&quot;).next().getPath())}</stringProp>
+                  <stringProp name="Argument.name">path</stringProp>
+                </elementProp>
+              </collectionProp>
+              <stringProp name="TestElement.name"></stringProp>
+              <boolProp name="TestElement.enabled">true</boolProp>
+            </elementProp>
+            <stringProp name="classname">org.apache.jackrabbit.chain.command.CurrentNode</stringProp>
+            <stringProp name="TestElement.gui_class">org.apache.jmeter.protocol.java.control.gui.ChainTestSamplerGui</stringProp>
+            <stringProp name="TestElement.test_class">org.apache.jmeter.protocol.java.sampler.ChainSampler</stringProp>
+            <stringProp name="TestElement.name">cd next child</stringProp>
+            <boolProp name="TestElement.enabled">true</boolProp>
+          </org.apache.jmeter.protocol.java.sampler.ChainSampler>
+          <hashTree/>
+          <org.apache.jmeter.protocol.java.sampler.ChainSampler>
+            <elementProp name="arguments" elementType="org.apache.jmeter.config.Arguments">
+              <stringProp name="TestElement.gui_class">org.apache.jmeter.config.gui.ArgumentsPanel</stringProp>
+              <stringProp name="TestElement.test_class">org.apache.jmeter.config.Arguments</stringProp>
+              <collectionProp name="Arguments.arguments">
+                <elementProp name="index" elementType="org.apache.jmeter.config.Argument">
+                  <stringProp name="Argument.metadata">=</stringProp>
+                  <stringProp name="Argument.value"></stringProp>
+                  <stringProp name="Argument.name">index</stringProp>
+                </elementProp>
+                <elementProp name="pathKey" elementType="org.apache.jmeter.config.Argument">
+                  <stringProp name="Argument.metadata">=</stringProp>
+                  <stringProp name="Argument.value"></stringProp>
+                  <stringProp name="Argument.name">pathKey</stringProp>
+                </elementProp>
+                <elementProp name="path" elementType="org.apache.jmeter.config.Argument">
+                  <stringProp name="Argument.metadata">=</stringProp>
+                  <stringProp name="Argument.value">jcr:primaryType</stringProp>
+                  <stringProp name="Argument.name">path</stringProp>
+                </elementProp>
+                <elementProp name="indexKey" elementType="org.apache.jmeter.config.Argument">
+                  <stringProp name="Argument.metadata">=</stringProp>
+                  <stringProp name="Argument.value"></stringProp>
+                  <stringProp name="Argument.name">indexKey</stringProp>
+                </elementProp>
+                <elementProp name="toKey" elementType="org.apache.jmeter.config.Argument">
+                  <stringProp name="Argument.metadata">=</stringProp>
+                  <stringProp name="Argument.value">nodetype</stringProp>
+                  <stringProp name="Argument.name">toKey</stringProp>
+                </elementProp>
+              </collectionProp>
+              <stringProp name="TestElement.name"></stringProp>
+              <boolProp name="TestElement.enabled">true</boolProp>
+            </elementProp>
+            <stringProp name="classname">org.apache.jackrabbit.chain.command.ReadValue</stringProp>
+            <stringProp name="TestElement.gui_class">org.apache.jmeter.protocol.java.control.gui.ChainTestSamplerGui</stringProp>
+            <stringProp name="TestElement.test_class">org.apache.jmeter.protocol.java.sampler.ChainSampler</stringProp>
+            <stringProp name="TestElement.name">read primary type</stringProp>
+            <boolProp name="TestElement.enabled">true</boolProp>
+          </org.apache.jmeter.protocol.java.sampler.ChainSampler>
+          <hashTree/>
+        </hashTree>
+        <ConstantTimer>
+          <stringProp name="TestElement.gui_class">org.apache.jmeter.timers.gui.ConstantTimerGui</stringProp>
+          <stringProp name="TestElement.test_class">org.apache.jmeter.timers.ConstantTimer</stringProp>
+          <stringProp name="TestElement.name">pause</stringProp>
+          <boolProp name="TestElement.enabled">true</boolProp>
+          <stringProp name="ConstantTimer.delay">500</stringProp>
+        </ConstantTimer>
+        <hashTree/>
+        <org.apache.jmeter.protocol.java.sampler.ChainSampler>
+          <elementProp name="arguments" elementType="org.apache.jmeter.config.Arguments">
+            <stringProp name="TestElement.gui_class">org.apache.jmeter.config.gui.ArgumentsPanel</stringProp>
+            <stringProp name="TestElement.test_class">org.apache.jmeter.config.Arguments</stringProp>
+            <collectionProp name="Arguments.arguments"/>
+            <stringProp name="TestElement.name"></stringProp>
+            <boolProp name="TestElement.enabled">true</boolProp>
+          </elementProp>
+          <stringProp name="classname">org.apache.jackrabbit.chain.command.Logout</stringProp>
+          <stringProp name="TestElement.gui_class">org.apache.jmeter.protocol.java.control.gui.ChainTestSamplerGui</stringProp>
+          <stringProp name="TestElement.test_class">org.apache.jmeter.protocol.java.sampler.ChainSampler</stringProp>
+          <stringProp name="TestElement.name">logout</stringProp>
+          <boolProp name="TestElement.enabled">true</boolProp>
+        </org.apache.jmeter.protocol.java.sampler.ChainSampler>
+        <hashTree/>
+        <ResultCollector>
+          <stringProp name="TestElement.gui_class">org.apache.jmeter.visualizers.StatVisualizer</stringProp>
+          <stringProp name="TestElement.test_class">org.apache.jmeter.reporters.ResultCollector</stringProp>
+          <stringProp name="TestElement.name">Aggregate Report</stringProp>
+          <objProp>
+            <value class="org.apache.jmeter.samplers.SampleSaveConfiguration">
+              <time>true</time>
+              <latency>true</latency>
+              <timestamp>true</timestamp>
+              <success>true</success>
+              <label>true</label>
+              <code>true</code>
+              <message>true</message>
+              <threadName>true</threadName>
+              <dataType>true</dataType>
+              <encoding>false</encoding>
+              <assertions>true</assertions>
+              <subresults>true</subresults>
+              <responseData>false</responseData>
+              <samplerData>false</samplerData>
+              <xml>true</xml>
+              <fieldNames>false</fieldNames>
+              <responseHeaders>false</responseHeaders>
+              <requestHeaders>false</requestHeaders>
+              <responseDataOnError>false</responseDataOnError>
+              <saveAssertionResultsFailureMessage>false</saveAssertionResultsFailureMessage>
+              <assertionsResultsToSave>0</assertionsResultsToSave>
+              <delimiter>,</delimiter>
+              <printMilliseconds>true</printMilliseconds>
+            </value>
+            <name>saveConfig</name>
+          </objProp>
+          <boolProp name="TestElement.enabled">true</boolProp>
+          <stringProp name="filename"></stringProp>
+          <boolProp name="ResultCollector.error_logging">false</boolProp>
+        </ResultCollector>
+        <hashTree/>
+      </hashTree>
+    </hashTree>
+  </hashTree>
+</jmeterTestPlan>

Added: incubator/jackrabbit/trunk/contrib/jcr-commands/xdocs/devguide.xml
URL: http://svn.apache.org/viewcvs/incubator/jackrabbit/trunk/contrib/jcr-commands/xdocs/devguide.xml?rev=294914&view=auto
==============================================================================
--- incubator/jackrabbit/trunk/contrib/jcr-commands/xdocs/devguide.xml (added)
+++ incubator/jackrabbit/trunk/contrib/jcr-commands/xdocs/devguide.xml Tue Oct  4 13:51:32 2005
@@ -0,0 +1,36 @@
+<?xml version="1.0"?>
+<!--
+   Copyright 2004-2005 The Apache Software Foundation or its licensors,
+                       as applicable.
+
+   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.
+  -->
+<document>
+	<properties>
+		<title>Developer guide</title>
+	</properties>
+	<body>
+		<section name="How does it work?">
+			<p>TODO</p>
+		</section>
+		<section name="Adding new commands">
+			<p>TODO</p>
+		</section>
+		<section name="Changing command syntax">
+			<p>TODO</p>
+		</section>		
+		<section name="Internationalization - i18n">
+			<p>TODO</p>
+		</section>
+	</body>
+</document>
\ No newline at end of file

Propchange: incubator/jackrabbit/trunk/contrib/jcr-commands/xdocs/devguide.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Added: incubator/jackrabbit/trunk/contrib/jcr-commands/xdocs/index.xml
URL: http://svn.apache.org/viewcvs/incubator/jackrabbit/trunk/contrib/jcr-commands/xdocs/index.xml?rev=294914&view=auto
==============================================================================
--- incubator/jackrabbit/trunk/contrib/jcr-commands/xdocs/index.xml (added)
+++ incubator/jackrabbit/trunk/contrib/jcr-commands/xdocs/index.xml Tue Oct  4 13:51:32 2005
@@ -0,0 +1,39 @@
+<?xml version="1.0"?>
+<!--
+   Copyright 2004-2005 The Apache Software Foundation or its licensors,
+                       as applicable.
+
+   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.
+  -->
+<document>
+	<properties>
+		<title>Overview</title>
+	</properties>
+	<body>
+		<section name="Overview">
+			<p> JCR-commands contains a jcr command line client. It's backed by a set of
+				Apache Commons Chain commands that perform operations on any JCR compliant
+				repository. Moreover it includes a few commands jackrabbit specific to
+				cover some use cases that were not included in the specification.
+				<br/> For more information about using Commons Chain please refer to
+				http://jakarta.apache.org/commons/chain/ </p>
+		</section>
+		<section name="Usage scenarios">
+			<p>Perform any jcr operation either in interactive or batch mode.</p>
+			<p>Reuse the commands in applications through the Jakarta Commons Chains
+				library</p>
+			<p>Benchmarck any jcr compliant repository with jmeter by using
+				jmeter-command plugin.</p>
+		</section>
+	</body>
+</document>

Propchange: incubator/jackrabbit/trunk/contrib/jcr-commands/xdocs/index.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Added: incubator/jackrabbit/trunk/contrib/jcr-commands/xdocs/navigation.xml
URL: http://svn.apache.org/viewcvs/incubator/jackrabbit/trunk/contrib/jcr-commands/xdocs/navigation.xml?rev=294914&view=auto
==============================================================================
--- incubator/jackrabbit/trunk/contrib/jcr-commands/xdocs/navigation.xml (added)
+++ incubator/jackrabbit/trunk/contrib/jcr-commands/xdocs/navigation.xml Tue Oct  4 13:51:32 2005
@@ -0,0 +1,27 @@
+<?xml version="1.0"?>
+<!--
+   Copyright 2004-2005 The Apache Software Foundation or its licensors,
+                       as applicable.
+
+   Licensed under the Apache License, Version 2.0 (the "License");
+   you may not use this file except in compliance with the License.
+   You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+  -->
+<project name="jcr-commands">
+ <title>Jackrabbit - jcr-commands</title>
+	<body>
+		<menu name="JCR commands">
+			<item name="Overview" href="index.html" />
+			<item name="User guide" href="userguide.html" />
+			<item name="Developer guide" href="devguide.html" />
+		</menu>
+	</body>
+</project>
\ No newline at end of file

Propchange: incubator/jackrabbit/trunk/contrib/jcr-commands/xdocs/navigation.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Added: incubator/jackrabbit/trunk/contrib/jcr-commands/xdocs/userguide.xml
URL: http://svn.apache.org/viewcvs/incubator/jackrabbit/trunk/contrib/jcr-commands/xdocs/userguide.xml?rev=294914&view=auto
==============================================================================
--- incubator/jackrabbit/trunk/contrib/jcr-commands/xdocs/userguide.xml (added)
+++ incubator/jackrabbit/trunk/contrib/jcr-commands/xdocs/userguide.xml Tue Oct  4 13:51:32 2005
@@ -0,0 +1,33 @@
+<?xml version="1.0"?>
+<!--
+   Copyright 2004-2005 The Apache Software Foundation or its licensors,
+                       as applicable.
+
+   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.
+  -->
+<document>
+	<properties>
+		<title>User guide</title>
+	</properties>
+	<body>
+		<section name="Interactive mode">
+			<p></p>
+		</section>
+		<section name="Batch mode">
+			<p></p>
+		</section>
+		<section name="Benchmarcking jcr">
+			<p></p>
+		</section>		
+	</body>
+</document>
\ No newline at end of file

Propchange: incubator/jackrabbit/trunk/contrib/jcr-commands/xdocs/userguide.xml
------------------------------------------------------------------------------
    svn:eol-style = native



Mime
View raw message