You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jackrabbit.apache.org by mr...@apache.org on 2005/01/17 14:46:41 UTC

svn commit: r125412 - in incubator/jackrabbit/trunk: applications/test src/test/org/apache/jackrabbit/test

Author: mreutegg
Date: Mon Jan 17 05:46:38 2005
New Revision: 125412

URL: http://svn.apache.org/viewcvs?view=rev&rev=125412
Log:
Extended RepositoryHelper to retrieve sessions for a specific named workspace
Modified:
   incubator/jackrabbit/trunk/applications/test/repositoryStubImpl.properties
   incubator/jackrabbit/trunk/src/test/org/apache/jackrabbit/test/AbstractJCRTest.java
   incubator/jackrabbit/trunk/src/test/org/apache/jackrabbit/test/RepositoryHelper.java
   incubator/jackrabbit/trunk/src/test/org/apache/jackrabbit/test/RepositoryStub.java

Modified: incubator/jackrabbit/trunk/applications/test/repositoryStubImpl.properties
Url: http://svn.apache.org/viewcvs/incubator/jackrabbit/trunk/applications/test/repositoryStubImpl.properties?view=diff&rev=125412&p1=incubator/jackrabbit/trunk/applications/test/repositoryStubImpl.properties&r1=125411&p2=incubator/jackrabbit/trunk/applications/test/repositoryStubImpl.properties&r2=125412
==============================================================================
--- incubator/jackrabbit/trunk/applications/test/repositoryStubImpl.properties	(original)
+++ incubator/jackrabbit/trunk/applications/test/repositoryStubImpl.properties	Mon Jan 17 05:46:38 2005
@@ -19,6 +19,7 @@
 javax.jcr.tck.nodename1=foo
 javax.jcr.tck.nodename2=bar
 javax.jcr.tck.nodename3=foobar
+javax.jcr.tck.workspacename=default
 
 # sample for per test case config overriding
 # Test class: AddNodeText

Modified: incubator/jackrabbit/trunk/src/test/org/apache/jackrabbit/test/AbstractJCRTest.java
Url: http://svn.apache.org/viewcvs/incubator/jackrabbit/trunk/src/test/org/apache/jackrabbit/test/AbstractJCRTest.java?view=diff&rev=125412&p1=incubator/jackrabbit/trunk/src/test/org/apache/jackrabbit/test/AbstractJCRTest.java&r1=125411&p2=incubator/jackrabbit/trunk/src/test/org/apache/jackrabbit/test/AbstractJCRTest.java&r2=125412
==============================================================================
--- incubator/jackrabbit/trunk/src/test/org/apache/jackrabbit/test/AbstractJCRTest.java	(original)
+++ incubator/jackrabbit/trunk/src/test/org/apache/jackrabbit/test/AbstractJCRTest.java	Mon Jan 17 05:46:38 2005
@@ -71,6 +71,11 @@
     protected String nodeName3;
 
     /**
+     * Name of a workspace to use instead of the default workspace.
+     */
+    protected String workspaceName;
+
+    /**
      * The superuser session
      */
     protected Session superuser;
@@ -101,6 +106,10 @@
         nodeName3 = getProperty(RepositoryStub.PROP_NODE_NAME3);
         if (nodeName3 == null) {
             fail("Property '" + RepositoryStub.PROP_NODE_NAME3 + "' is not defined.");
+        }
+        workspaceName = getProperty(RepositoryStub.PROP_WORKSPACE_NAME);
+        if (workspaceName == null) {
+            fail("Property '" + RepositoryStub.PROP_WORKSPACE_NAME + "' is not defined.");
         }
 
         superuser = helper.getSuperuserSession();

Modified: incubator/jackrabbit/trunk/src/test/org/apache/jackrabbit/test/RepositoryHelper.java
Url: http://svn.apache.org/viewcvs/incubator/jackrabbit/trunk/src/test/org/apache/jackrabbit/test/RepositoryHelper.java?view=diff&rev=125412&p1=incubator/jackrabbit/trunk/src/test/org/apache/jackrabbit/test/RepositoryHelper.java&r1=125411&p2=incubator/jackrabbit/trunk/src/test/org/apache/jackrabbit/test/RepositoryHelper.java&r2=125412
==============================================================================
--- incubator/jackrabbit/trunk/src/test/org/apache/jackrabbit/test/RepositoryHelper.java	(original)
+++ incubator/jackrabbit/trunk/src/test/org/apache/jackrabbit/test/RepositoryHelper.java	Mon Jan 17 05:46:38 2005
@@ -21,10 +21,15 @@
 import javax.jcr.Session;
 
 /**
- *
+ * Utility class to get access to {@link javax.jcr.Session} instances.
  */
 public class RepositoryHelper {
 
+    /**
+     * Returns the repository instance to test.
+     * @return the repository instance to test.
+     * @throws RepositoryException if the repository could not be obtained.
+     */
     public Repository getRepository() throws RepositoryException {
         try {
             RepositoryStub repStub = RepositoryStub.getInstance();
@@ -34,33 +39,95 @@
         }
     }
 
+    /**
+     * Returns a superuser <code>Session</code> of the default workspace. The
+     * returned <code>Session</code> has read and write access to the whole
+     * workspace.
+     * @return a superuser <code>Session</code>.
+     * @throws RepositoryException if login to the repository failed.
+     */
     public Session getSuperuserSession() throws RepositoryException {
+        return getSuperuserSession(null);
+    }
+
+    /**
+     * Returns a superuser <code>Session</code> of the workspace with name
+     * <code>workspaceName</code>. The returned <code>Session</code> has read
+     * and write access to the whole workspace.
+     * @return a superuser <code>Session</code>.
+     * @throws RepositoryException if login to the repository failed.
+     */
+    public Session getSuperuserSession(String workspaceName) throws RepositoryException {
         try {
             RepositoryStub repStub = RepositoryStub.getInstance();
-            return repStub.getRepository().login(repStub.getSuperuserCredentials(), null);
+            return repStub.getRepository().login(repStub.getSuperuserCredentials(), workspaceName);
         } catch (RepositoryStubException e) {
             throw new RepositoryException("Failed to login to Repository.", e);
         }
     }
 
+    /**
+     * Returns a <code>Session</code> of the default workspace with read and
+     * write access to the workspace.
+     * @return a <code>Session</code> with read and write access.
+     * @throws RepositoryException if login to the repository failed.
+     */
     public Session getReadWriteSession() throws RepositoryException {
+        return getReadWriteSession(null);
+    }
+
+    /**
+     * Returns a <code>Session</code> of the workspace with name
+     * <code>workspaceName</code> with read and write access to the workspace.
+     * @return a <code>Session</code> with read and write access.
+     * @throws RepositoryException if login to the repository failed.
+     */
+    public Session getReadWriteSession(String workspaceName) throws RepositoryException {
         try {
             RepositoryStub repStub = RepositoryStub.getInstance();
-            return repStub.getRepository().login(repStub.getReadWriteCredentials(), null);
+            return repStub.getRepository().login(repStub.getReadWriteCredentials(), workspaceName);
         } catch (RepositoryStubException e) {
             throw new RepositoryException("Failed to login to Repository.", e);
         }
     }
 
+    /**
+     * Returns a <code>Session</code> of the default workspace with read only
+     * access to the workspace.
+     * @return a <code>Session</code> with read only.
+     * @throws RepositoryException if login to the repository failed.
+     */
     public Session getReadOnlySession() throws RepositoryException {
+        return getReadOnlySession(null);
+    }
+
+    /**
+     * Returns a <code>Session</code> of the workspace with name
+     * <code>workspaceName</code> with read only access to the workspace.
+     * @return a <code>Session</code> with read only access.
+     * @throws RepositoryException if login to the repository failed.
+     */
+    public Session getReadOnlySession(String workspaceName) throws RepositoryException {
         try {
             RepositoryStub repStub = RepositoryStub.getInstance();
-            return repStub.getRepository().login(repStub.getReadOnlyCredentials(), null);
+            return repStub.getRepository().login(repStub.getReadOnlyCredentials(), workspaceName);
         } catch (RepositoryStubException e) {
             throw new RepositoryException("Failed to login to Repository.", e);
         }
     }
 
+    /**
+     * Returns the value of the configuration property with specified
+     * <code>name</code>. If the property does not exist <code>null</code> is
+     * returned.
+     * <p/>
+     * Configuration properties are defined in the file:
+     * <code>repositoryStubImpl.properties</code>.
+     *
+     * @param name the name of the property to retrieve.
+     * @return the value of the property or <code>null</code> if non existent.
+     * @throws RepositoryException if the configuration file cannot be found.
+     */
     public String getProperty(String name) throws RepositoryException {
         try {
             return RepositoryStub.getInstance().getProperty(name);

Modified: incubator/jackrabbit/trunk/src/test/org/apache/jackrabbit/test/RepositoryStub.java
Url: http://svn.apache.org/viewcvs/incubator/jackrabbit/trunk/src/test/org/apache/jackrabbit/test/RepositoryStub.java?view=diff&rev=125412&p1=incubator/jackrabbit/trunk/src/test/org/apache/jackrabbit/test/RepositoryStub.java&r1=125411&p2=incubator/jackrabbit/trunk/src/test/org/apache/jackrabbit/test/RepositoryStub.java&r2=125412
==============================================================================
--- incubator/jackrabbit/trunk/src/test/org/apache/jackrabbit/test/RepositoryStub.java	(original)
+++ incubator/jackrabbit/trunk/src/test/org/apache/jackrabbit/test/RepositoryStub.java	Mon Jan 17 05:46:38 2005
@@ -66,6 +66,8 @@
 
     public static final String PROP_NODE_NAME3 = "nodename3";
 
+    public static final String PROP_WORKSPACE_NAME = "workspacename";
+
     protected static RepositoryStub instance;
 
     protected final Properties environment;