org.apache.jackrabbit.test
Class RepositoryStub

java.lang.Object
  extended by org.apache.jackrabbit.test.RepositoryStub
Direct Known Subclasses:
JackrabbitRepositoryStub, JNDIRepositoryStub

public abstract class RepositoryStub
extends Object

The RepositoryStub is the entry point to the JCR Repository for the TCK Test harness.

Implementors of the JCR specification need to provide an implementation for the abstract methods defined in this class.


Field Summary
protected  Properties environment
           
static String PROP_HOLD_NAME
           
static String PROP_LOCK_OWNER
           
static String PROP_LOCK_TIMEOUT
           
static String PROP_NAMESPACES
           
static String PROP_NODE_NAME1
           
static String PROP_NODE_NAME2
           
static String PROP_NODE_NAME3
           
static String PROP_NODE_NAME4
           
static String PROP_NODETYPE
           
static String PROP_NODETYPENOCHILDREN
           
static String PROP_PREFIX
           
static String PROP_PROP_NAME1
           
static String PROP_PROP_NAME2
           
static String PROP_PROP_TYPE1
           
static String PROP_PROP_TYPE2
           
static String PROP_PROP_VALUE1
           
static String PROP_PROP_VALUE2
           
static String PROP_READONLY_NAME
           
static String PROP_READONLY_PWD
           
static String PROP_READWRITE_NAME
           
static String PROP_READWRITE_PWD
           
static String PROP_STUB_IMPL_CLASS
           
static String PROP_SUPERUSER_NAME
           
static String PROP_SUPERUSER_PWD
           
static String PROP_TESTROOT
           
static String PROP_WORKSPACE_NAME
           
protected  SimpleCredentials readonly
           
protected  SimpleCredentials readwrite
           
static String REPOSITORY_FACTORY
           
static String RETENTION_POLICY_HOLDER
           
static String STUB_IMPL_PROPS
           
static String STUB_IMPL_SYS_PROPS
           
protected  SimpleCredentials superuser
           
 
Constructor Summary
protected RepositoryStub(Properties env)
          Implementations of this class must overwrite this constructor.
 
Method Summary
static RepositoryStub getInstance(Map configuration)
          Creates and/or returns the configured RepositryStub implementation.
abstract  Principal getKnownPrincipal(Session session)
          Returns a Principal identifiying a known user (not group)
 String getProperty(String name)
          Returns the property with the specified name.
 Credentials getReadOnlyCredentials()
          Returns a Credentials object, that can be used to login to the Repository returned by getRepository().
 Credentials getReadWriteCredentials()
          Returns a Credentials object, that can be used to login to the Repository returned by getRepository().
abstract  Repository getRepository()
          Returns a reference to the Repository provided by this RepositoryStub.
 Credentials getSuperuserCredentials()
          Returns a Credentials object, that can be used to login to the Repository returned by getRepository().
abstract  Principal getUnknownPrincipal(Session session)
          Returns a Principal identifiying an unknown user.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

STUB_IMPL_PROPS

public static final String STUB_IMPL_PROPS
See Also:
Constant Field Values

PROP_PREFIX

public static final String PROP_PREFIX
See Also:
Constant Field Values

STUB_IMPL_SYS_PROPS

public static final String STUB_IMPL_SYS_PROPS
See Also:
Constant Field Values

PROP_STUB_IMPL_CLASS

public static final String PROP_STUB_IMPL_CLASS
See Also:
Constant Field Values

PROP_SUPERUSER_PWD

public static final String PROP_SUPERUSER_PWD
See Also:
Constant Field Values

PROP_SUPERUSER_NAME

public static final String PROP_SUPERUSER_NAME
See Also:
Constant Field Values

PROP_READONLY_PWD

public static final String PROP_READONLY_PWD
See Also:
Constant Field Values

PROP_READONLY_NAME

public static final String PROP_READONLY_NAME
See Also:
Constant Field Values

PROP_READWRITE_PWD

public static final String PROP_READWRITE_PWD
See Also:
Constant Field Values

PROP_READWRITE_NAME

public static final String PROP_READWRITE_NAME
See Also:
Constant Field Values

PROP_NODETYPE

public static final String PROP_NODETYPE
See Also:
Constant Field Values

PROP_NODETYPENOCHILDREN

public static final String PROP_NODETYPENOCHILDREN
See Also:
Constant Field Values

PROP_TESTROOT

public static final String PROP_TESTROOT
See Also:
Constant Field Values

PROP_NODE_NAME1

public static final String PROP_NODE_NAME1
See Also:
Constant Field Values

PROP_NODE_NAME2

public static final String PROP_NODE_NAME2
See Also:
Constant Field Values

PROP_NODE_NAME3

public static final String PROP_NODE_NAME3
See Also:
Constant Field Values

PROP_NODE_NAME4

public static final String PROP_NODE_NAME4
See Also:
Constant Field Values

PROP_PROP_NAME1

public static final String PROP_PROP_NAME1
See Also:
Constant Field Values

PROP_PROP_NAME2

public static final String PROP_PROP_NAME2
See Also:
Constant Field Values

PROP_PROP_VALUE1

public static final String PROP_PROP_VALUE1
Since:
JCR 2.0
See Also:
Constant Field Values

PROP_PROP_VALUE2

public static final String PROP_PROP_VALUE2
Since:
JCR 2.0
See Also:
Constant Field Values

PROP_PROP_TYPE1

public static final String PROP_PROP_TYPE1
Since:
JCR 2.0
See Also:
Constant Field Values

PROP_PROP_TYPE2

public static final String PROP_PROP_TYPE2
Since:
JCR 2.0
See Also:
Constant Field Values

PROP_WORKSPACE_NAME

public static final String PROP_WORKSPACE_NAME
See Also:
Constant Field Values

PROP_NAMESPACES

public static final String PROP_NAMESPACES
See Also:
Constant Field Values

PROP_LOCK_TIMEOUT

public static final String PROP_LOCK_TIMEOUT
Since:
JCR 2.0
See Also:
Constant Field Values

PROP_LOCK_OWNER

public static final String PROP_LOCK_OWNER
Since:
JCR 2.0
See Also:
Constant Field Values

PROP_HOLD_NAME

public static final String PROP_HOLD_NAME
Since:
JCR 2.0
See Also:
Constant Field Values

RETENTION_POLICY_HOLDER

public static final String RETENTION_POLICY_HOLDER
See Also:
Constant Field Values

REPOSITORY_FACTORY

public static final String REPOSITORY_FACTORY
Since:
JCR 2.0
See Also:
Constant Field Values

environment

protected final Properties environment

superuser

protected SimpleCredentials superuser

readonly

protected SimpleCredentials readonly

readwrite

protected SimpleCredentials readwrite
Constructor Detail

RepositoryStub

protected RepositoryStub(Properties env)
Implementations of this class must overwrite this constructor.

Parameters:
env - the environment variables. This parameter must not be null.
Method Detail

getInstance

public static RepositoryStub getInstance(Map configuration)
                                  throws RepositoryStubException
Creates and/or returns the configured RepositryStub implementation.

The property file is located in the following sequence:

  1. If the system property -Djavax.jcr.tck.properties is set, then the accroding file is used as configuration.
  2. If the system property -Djavax.jcr.tck.properties is not set, then the TCK tries to load the file repositoryStubImpl.properties as a resource from the ClassLoader of this RepositryStub class.
The properties are then overlayed with the the key / values from configuration map.

Parameters:
configuration - a Map of additional configuration entries.
Returns:
a RepositoryStub implementation.
Throws:
RepositoryStubException

getRepository

public abstract Repository getRepository()
                                  throws RepositoryStubException
Returns a reference to the Repository provided by this RepositoryStub.

Returns:
Throws:
RepositoryStubException

getSuperuserCredentials

public Credentials getSuperuserCredentials()
Returns a Credentials object, that can be used to login to the Repository returned by getRepository().

The Credentials returned has 'superuser' rights. That is, the Session object returned by Repository.login(Credentials) has read write access to the whole Content Repository.

Returns:
a Credentials object, that allows to login to the Repository as 'superuser'.

getReadWriteCredentials

public Credentials getReadWriteCredentials()
Returns a Credentials object, that can be used to login to the Repository returned by getRepository().

The Credentials returned has read/write rights. That is, the Session object returned by Repository.login(Credentials) has read write access to the Node configured in the JCR TCK Interview.

For details, see: JCR TCK User Guide.

Returns:
a Credentials object, that allows to login to the Repository with read/write right.

getReadOnlyCredentials

public Credentials getReadOnlyCredentials()
Returns a Credentials object, that can be used to login to the Repository returned by getRepository().

The Credentials returned must have read-only rights. That is, the Session object returned by Repository.login() has read-only access to the Node configured in the JCR TCK Interview.

For details, see: JCR TCK User Guide.

Returns:
a Credentials object, that allows to login to the Repository with read-only right.

getProperty

public String getProperty(String name)
Returns the property with the specified name. If a property with the given name does not exist, null is returned.

Parameters:
name - the name of the property.
Returns:
the property, or null if the property does not exist.

getKnownPrincipal

public abstract Principal getKnownPrincipal(Session session)
                                     throws RepositoryException
Returns a Principal identifiying a known user (not group)

Parameters:
session -
Throws:
RepositoryException

getUnknownPrincipal

public abstract Principal getUnknownPrincipal(Session session)
                                       throws RepositoryException,
                                              NotExecutableException
Returns a Principal identifiying an unknown user.

Parameters:
session -
Throws:
NotExecutableException - if the implementation can not provide an instance of Principal for unkwnown users
RepositoryException


Copyright © 2004-2010 The Apache Software Foundation. All Rights Reserved.