You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jackrabbit.apache.org by ed...@apache.org on 2005/10/04 22:54:30 UTC
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...
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("jcr.current").hasNode("test")==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("children").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("children").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