public abstract class RepositoryStub extends Object
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.
Modifier | Constructor and Description |
---|---|
protected |
RepositoryStub(Properties env)
Implementations of this class must overwrite this constructor.
|
Modifier and Type | Method and Description |
---|---|
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. |
public static final String STUB_IMPL_PROPS
public static final String PROP_PREFIX
public static final String STUB_IMPL_SYS_PROPS
public static final String PROP_STUB_IMPL_CLASS
public static final String PROP_SUPERUSER_PWD
public static final String PROP_SUPERUSER_NAME
public static final String PROP_READONLY_PWD
public static final String PROP_READONLY_NAME
public static final String PROP_READWRITE_PWD
public static final String PROP_READWRITE_NAME
public static final String PROP_NODETYPE
public static final String PROP_NODETYPETESTROOT
public static final String PROP_NODETYPENOCHILDREN
public static final String PROP_TESTROOT
public static final String PROP_NODE_NAME1
public static final String PROP_NODE_NAME2
public static final String PROP_NODE_NAME3
public static final String PROP_NODE_NAME4
public static final String PROP_PROP_NAME1
public static final String PROP_PROP_NAME2
public static final String PROP_PROP_VALUE1
public static final String PROP_PROP_VALUE2
public static final String PROP_PROP_TYPE1
public static final String PROP_PROP_TYPE2
public static final String PROP_WORKSPACE_NAME
public static final String PROP_NAMESPACES
public static final String PROP_LOCK_TIMEOUT
public static final String PROP_LOCK_OWNER
public static final String PROP_OPEN_SCOPED_LOCK_MULTIPLE
public static final String PROP_HOLD_NAME
public static final String RETENTION_POLICY_HOLDER
public static final String REPOSITORY_FACTORY
protected final Properties environment
protected SimpleCredentials superuser
protected SimpleCredentials readonly
protected SimpleCredentials readwrite
protected RepositoryStub(Properties env)
env
- the environment variables. This parameter must not be null.public static RepositoryStub getInstance(Map configuration) throws RepositoryStubException
RepositryStub
implementation.
The property file is located in the following sequence:
-Djavax.jcr.tck.properties
is
set, then the accroding file is used as configuration.-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.configuration
map.configuration
- a Map
of additional configuration entries.RepositoryStub
implementation.RepositoryStubException
public abstract Repository getRepository() throws RepositoryStubException
Repository
provided by this
RepositoryStub
.RepositoryStubException
public Credentials getSuperuserCredentials()
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.
Credentials
object, that allows to login to the
Repository
as 'superuser'.public Credentials getReadWriteCredentials()
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.
Credentials
object, that allows to login to the
Repository
with read/write right.public Credentials getReadOnlyCredentials()
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.
Credentials
object, that allows to login to the
Repository
with read-only right.public String getProperty(String name)
name
. If a
property with the given name does not exist, null
is
returned.name
- the name of the property.null
if the property does not
exist.public abstract Principal getKnownPrincipal(Session session) throws RepositoryException
Principal
identifiying a known user (not group)session
- RepositoryException
public abstract Principal getUnknownPrincipal(Session session) throws RepositoryException, NotExecutableException
Principal
identifiying an unknown user.session
- NotExecutableException
- if the implementation can not provide an
instance of Principal for unkwnown usersRepositoryException
Copyright © 2004–2022 The Apache Software Foundation. All rights reserved.