public class EcmFactory extends Object
Connecting to a repository:
uniqueName, key
are parameters to be used to access a key secured repository.
Repositories can be secured using a name and a secret key. The key provided on creation of the
repository must be provided later to connect to the repository. See the
SAP Cloud Platform
document service Concepts documentation for more details about securing repositories. destination
is a parameter describing the name of a deployed destination in the target
system. The destination contains the URL to the document service instance to connect to. See the
documentation of the
SAP Cloud Platform
connectivity service for more details on how destinations can be configured. If no
destination is provided a default destination with the correct URL to the Document Service will
be used. user
is a parameter that denotes the user id to be forwarded to the document service as
originator of the call. If no user is provided the current user is used. Creating a repository:
options
is a parameter that must be provided when a repository is created. Various
settings can be set that influence the behavior of the repository including visibility and
security. See the RepositoryOptions
class for more details.Constructor and Description |
---|
EcmFactory() |
Modifier and Type | Method and Description |
---|---|
static Session |
connect(String uniqueName,
String key)
Connects to a key-secured repository specified by
uniqueName . |
static Session |
connect(String uniqueName,
String key,
String destination)
Connects to a key-secured repository specified by
uniqueName . |
static Session |
connect(String uniqueName,
String key,
String destination,
Map<String,String> openCmisProperties)
Connects to a key-secured repository specified by
uniqueName . |
static Session |
connect(String uniqueName,
String key,
String destination,
Map<String,String> openCmisProperties,
List<String> additionalPrincipals)
Connects to a key-secured repository specified by
uniqueName . |
static Session |
connectForTenant(String uniqueName,
String key,
String tenantId,
String user)
Connects to a key-secured repository specified by
uniqueName for the specified tenant
and user. |
static Session |
connectForTenant(String uniqueName,
String key,
String tenantId,
String user,
Map<String,String> openCmisProperties)
Connects to a key-secured repository specified by
uniqueName for the specified tenant
and user. |
static Session |
connectForTenant(String uniqueName,
String key,
String tenantId,
String user,
Map<String,String> openCmisProperties,
List<String> additionalPrincipals)
Connects to a key-secured repository specified by
uniqueName for the specified tenant
and user. |
static Session |
connectForUser(String uniqueName,
String key,
String user)
Connects to a key-secured repository specified by
uniqueName for the specified user. |
static Session |
connectForUser(String uniqueName,
String key,
String destination,
String user)
Connects to a key-secured repository specified by
uniqueName for the specified user. |
static Session |
connectForUser(String uniqueName,
String key,
String destination,
String user,
Map<String,String> openCmisProperties)
Connects to a key-secured repository specified by
uniqueName for the specified user. |
static Session |
connectForUser(String uniqueName,
String key,
String destination,
String user,
Map<String,String> openCmisProperties,
List<String> additionalPrincipals)
Connects to a key-secured repository specified by
uniqueName for the specified user. |
static String |
createRepository(RepositoryOptions options)
Creates a new repository in the Document Service with the given options.
|
static String |
createRepository(RepositoryOptions options,
String destination)
Creates a new repository in the Document Service with the given options.
|
static void |
deleteRepository(String uniqueName,
String repositoryKey)
Deletes a repository for the current consuming account.
|
static void |
deleteRepository(String uniqueName,
String repositoryKey,
String destination)
Deletes a repository for the current consuming account.
|
static void |
forceDeleteRepository(String uniqueName,
String repositoryKey)
Deletes the tenant repository of the current tenant (consuming account)
including all data contained within.
|
static void |
forceDeleteRepositoryForAllTenants(String uniqueName,
String repositoryKey)
Deletes a repository and all contained tenant repositories
including all data inside.
|
static void |
forceDeleteRepositoryForTenant(String uniqueName,
String repositoryKey,
String tenantId)
Deletes the tenant repository of the given tenant ID
including all data contained within.
|
public static Session connect(String uniqueName, String key) throws ServiceException, CmisObjectNotFoundException
uniqueName
. The key
will be
used to verify access to this repository.
The currently logged in user of your application will be read and forwarded to the document
service for use in e.g. createdBy and modifiedBy properties and ACLs.uniqueName
- The unique name of the repository as specified upon creation (see
createRepository(RepositoryOptions)
).key
- The key that was used to secure the repository as specified upon creation (see
createRepository(RepositoryOptions)
).uniqueName
in the
SAP Cloud Platform document service.CmisObjectNotFoundException
- If the requested repository does not exist or the given key does not matchServiceException
- Generic exception that encapsulates root causespublic static Session connectForUser(String uniqueName, String key, String user) throws ServiceException, CmisObjectNotFoundException
uniqueName
for the specified user.
The key
will be used to verify access to this repository.uniqueName
- The unique name of the repository as specified upon creation (see
createRepository(RepositoryOptions)
).key
- The key that was used to secure the repository as specified upon creation (see
createRepository(RepositoryOptions)
).user
- User for whom the session should be created. This user will be used for e.g. createdBy
and modifiedBy properties and ACLs.uniqueName
in the
SAP Cloud Platform document service.CmisObjectNotFoundException
- If the requested repository does not exist or the given key does not matchServiceException
- Generic exception that encapsulates root causespublic static Session connect(String uniqueName, String key, String destination) throws ServiceException, CmisObjectNotFoundException
uniqueName
. The key
will be
used to verify access to this repository. The currently logged in user of your application will
be read and forwarded to the document service for use in e.g. createdBy and modifiedBy
properties and ACLs.uniqueName
- The unique name of the repository as specified upon creation (see
createRepository(RepositoryOptions)
).key
- The key that was used to secure the repository as specified upon creation (see
createRepository(RepositoryOptions)
).destination
- Name of the destination to the Document Service server (useful if you want to
overwrite the destination to use e.g. a service-user one). Can be null
.uniqueName
in the
SAP Cloud Platform document service.CmisObjectNotFoundException
- If the requested repository does not exist or the given key does not matchServiceException
- Generic exception that encapsulates root causespublic static Session connect(String uniqueName, String key, String destination, Map<String,String> openCmisProperties) throws ServiceException, CmisObjectNotFoundException
uniqueName
. The key
will be
used to verify access to this repository. The currently logged in user of your application will
be read and forwarded to the document service for use in e.g. createdBy and modifiedBy
properties and ACLs. Optionally you can specify properties openCmisProperties
that
should be passed to the OpenCMIS library.
By default, the method internally retries to connect 2 times in case of a connection exception
with a sleep of one second between two trials. You could change the number of retries by adding
an entry with key "maxRetries" and a value representing a positive integer defining the number
of retries to openCmisProperties
. To change the sleep duration between two retries add
an entry with key "sleepDuration" and a value representing a positive long number defining the
sleep duration in milliseconds to openCmisProperties
.uniqueName
- The unique name of the repository as specified upon creation (see
createRepository(RepositoryOptions)
).key
- The key that was used to secure the repository as specified upon creation (see
createRepository(RepositoryOptions)
).destination
- Name of the destination to the Document Service server (useful if you want to
overwrite the destination to use e.g. a service-user one). Can be null
.openCmisProperties
- A map that will be passed to the OpenCMIS library. See
SessionFactory.createSession(Map)
and SessionParameter
. Note however
that overwriting authentication or connection parameters (like URL, binding, auth
provider) will most likely break the connection between your application and the
document service.uniqueName
in the
SAP Cloud Platform document service.CmisObjectNotFoundException
- If the requested repository does not exist or the given key does not matchServiceException
- Generic exception that encapsulates root causespublic static Session connect(String uniqueName, String key, String destination, Map<String,String> openCmisProperties, List<String> additionalPrincipals) throws ServiceException, CmisObjectNotFoundException
uniqueName
. The key
will be
used to verify access to this repository. The currently logged in user of your application will
be read and forwarded to the document service for use in e.g. createdBy and modifiedBy
properties and ACLs. Optionally you can specify properties openCmisProperties
that
should be passed to the OpenCMIS library. You could also provide a list of additional
principals additionalPrincipals
. The access rights to files and folders with respect to
ACLs of these principals are added to the current user rights.
By default, the method internally retries to connect 2 times in case of a connection exception
with a sleep of one second between two trials. You could change the number of retries by adding
an entry with key "maxRetries" and a value representing a positive integer defining the number
of retries to openCmisProperties
. To change the sleep duration between two retries add
an entry with key "sleepDuration" and a value representing a positive long number defining the
sleep duration in milliseconds to openCmisProperties
.uniqueName
- The unique name of the repository as specified upon creation (see
createRepository(RepositoryOptions)
).key
- The key that was used to secure the repository as specified upon creation (see
createRepository(RepositoryOptions)
).destination
- Name of the destination to the Document Service server (useful if you want to
overwrite the destination to use e.g. a service-user one). Can be null
.openCmisProperties
- A map that will be passed to the OpenCMIS library. See
SessionFactory.createSession(Map)
and SessionParameter
. Note however
that overwriting authentication or connection parameters (like URL, binding, auth
provider) will most likely break the connection between your application and the
document service.additionalPrincipals
- A list of additional principals. The access rights with respect to ACLs to files and
folders of these principals are added to the current user rights.uniqueName
in the
SAP Cloud Platform document service.CmisObjectNotFoundException
- If the requested repository does not exist or the given key does not matchServiceException
- Generic exception that encapsulates root causespublic static Session connectForUser(String uniqueName, String key, String destination, String user) throws ServiceException, CmisObjectNotFoundException
uniqueName
for the specified user.
The key
will be used to verify access to this repository.uniqueName
- The unique name of the repository as specified upon creation (see
createRepository(RepositoryOptions)
).key
- The key that was used to secure the repository as specified upon creation (see
createRepository(RepositoryOptions)
).destination
- Name of the destination to the Document Service server (useful if you want to
overwrite the destination to use e.g. a service-user one). Can be null
.user
- User for whom the session should be created. This user will be used for e.g. createdBy
and modifiedBy properties and ACLs.uniqueName
in the
SAP Cloud Platform document service.CmisObjectNotFoundException
- If the requested repository does not exist or the given key does not matchServiceException
- Generic exception that encapsulates root causespublic static Session connectForUser(String uniqueName, String key, String destination, String user, Map<String,String> openCmisProperties) throws ServiceException, CmisObjectNotFoundException
uniqueName
for the specified user.
The key
will be used to verify access to this repository.
By default, the method internally retries to connect 2 times in case of a connection exception
with a sleep of one second between two trials. You could change the number of retries by adding
an entry with key "maxRetries" and a value representing a positive integer defining the number
of retries to openCmisProperties
. To change the sleep duration between two retries add
an entry with key "sleepDuration" and a value representing a positive long number defining the
sleep duration in milliseconds to openCmisProperties
.uniqueName
- The unique name of the repository as specified upon creation (see
createRepository(RepositoryOptions)
).key
- The key that was used to secure the repository as specified upon creation (see
createRepository(RepositoryOptions)
).destination
- Name of the destination to the Document Service server (useful if you want to
overwrite the destination to use e.g. a service-user one). Can be null
.user
- User for whom the session should be created. This user will be used for e.g. createdBy
and modifiedBy properties and ACLs.openCmisProperties
- A map that will be passed to the OpenCMIS library. See
SessionFactory.createSession(Map)
and SessionParameter
. Note however
that overwriting authentication or connection parameters (like URL, binding, auth
provider) will most likely break the connection between your application and the
document service.uniqueName
in the
SAP Cloud Platform document service.CmisObjectNotFoundException
- If the requested repository does not exist or the given key does not matchServiceException
- Generic exception that encapsulates root causespublic static Session connectForUser(String uniqueName, String key, String destination, String user, Map<String,String> openCmisProperties, List<String> additionalPrincipals) throws ServiceException, CmisObjectNotFoundException
uniqueName
for the specified user.
The key
will be used to verify access to this repository.
Optionally you can specify properties openCmisProperties
that should be passed to the
OpenCMIS library.
You could also provide a list of additional principals additionalPrincipals
. The access
rights to files and folders with respect to ACLs of these principals are added to the current
user rights.
By default, the method internally retries to connect 2 times in case of a connection exception
with a sleep of one second between two trials. You could change the number of retries by adding
an entry with key "maxRetries" and a value representing a positive integer defining the number
of retries to openCmisProperties
. To change the sleep duration between two retries add
an entry with key "sleepDuration" and a value representing a positive long number defining the
sleep duration in milliseconds to openCmisProperties
.uniqueName
- The unique name of the repository as specified upon creation (see
createRepository(RepositoryOptions)
).key
- The key that was used to secure the repository as specified upon creation (see
createRepository(RepositoryOptions)
).destination
- Name of the destination to the Document Service server (useful if you want to
overwrite the destination to use e.g. a service-user one). Can be null
.user
- User for whom the session should be created. This user will be used for e.g. createdBy
and modifiedBy properties and ACLs.openCmisProperties
- A map that will be passed to the OpenCMIS library. See
SessionFactory.createSession(Map)
and SessionParameter
. Note however
that overwriting authentication or connection parameters (like URL, binding, auth
provider) will most likely break the connection between your application and the
document service.additionalPrincipals
- A list of additional principals. The access rights with respect to ACLs to files and
folders of these principals are added to the current user rights.uniqueName
in the
SAP Cloud Platform document service.CmisObjectNotFoundException
- If the requested repository does not exist or the given key does not matchServiceException
- Generic exception that encapsulates root causespublic static Session connectForTenant(String uniqueName, String key, String tenantId, String user) throws ServiceException, CmisObjectNotFoundException
uniqueName
for the specified tenant
and user. The key
will be used to verify access to this repository. The currently
logged in user of your application will be read and forwarded to the document service for use
in e.g. createdBy and modifiedBy properties and ACLs.uniqueName
- The unique name of the repository as specified upon creation (see
createRepository(RepositoryOptions)
).key
- The key that was used to secure the repository as specified upon creation (see
createRepository(RepositoryOptions)
).tenantId
- The id of the tenant.user
- User for whom the session should be created.uniqueName
in the
SAP Cloud Platform document service.CmisObjectNotFoundException
- If the requested repository does not exist or the given key does not matchServiceException
- Generic exception that encapsulates root causespublic static Session connectForTenant(String uniqueName, String key, String tenantId, String user, Map<String,String> openCmisProperties) throws ServiceException, CmisObjectNotFoundException
uniqueName
for the specified tenant
and user. The key
will be used to verify access to this repository. The currently
logged in user of your application will be read and forwarded to the document service for use
in e.g. createdBy and modifiedBy properties and ACLs.
By default, the method internally retries to connect 2 times in case of a connection exception
with a sleep of one second between two trials. You could change the number of retries by adding
an entry with key "maxRetries" and a value representing a positive integer defining the number
of retries to openCmisProperties
. To change the sleep duration between two retries add
an entry with key "sleepDuration" and a value representing a positive long number defining the
sleep duration in milliseconds to openCmisProperties
.uniqueName
- The unique name of the repository as specified upon creation (see
createRepository(RepositoryOptions)
).key
- The key that was used to secure the repository as specified upon creation (see
createRepository(RepositoryOptions)
).tenantId
- The id of the tenant.user
- User for whom the session should be created.openCmisProperties
- A map that will be passed to the OpenCMIS library. See
SessionFactory.createSession(Map)
and SessionParameter
. Note however
that overwriting authentication or connection parameters (like URL, binding, auth
provider) will most likely break the connection between your application and the
document service.uniqueName
in the
SAP Cloud Platform document service.CmisObjectNotFoundException
- If the requested repository does not exist or the given key does not matchServiceException
- Generic exception that encapsulates root causespublic static Session connectForTenant(String uniqueName, String key, String tenantId, String user, Map<String,String> openCmisProperties, List<String> additionalPrincipals) throws ServiceException, CmisObjectNotFoundException
uniqueName
for the specified tenant
and user. The key
will be used to verify access to this repository. The currently
logged in user of your application will be read and forwarded to the document service for use
in e.g. createdBy and modifiedBy properties and ACLs.
Optionally you can specify properties openCmisProperties
that should be passed to the
OpenCMIS library.
You could also provide a list of additional principals additionalPrincipals
. The access
rights to files and folders with respect to ACLs of these principals are added to the current
user rights.
By default, the method internally retries to connect 2 times in case of a connection exception
with a sleep of one second between two trials. You could change the number of retries by adding
an entry with key "maxRetries" and a value representing a positive integer defining the number
of retries to openCmisProperties
. To change the sleep duration between two retries add
an entry with key "sleepDuration" and a value representing a positive long number defining the
sleep duration in milliseconds to openCmisProperties
.uniqueName
- The unique name of the repository as specified upon creation (see
createRepository(RepositoryOptions)
).key
- The key that was used to secure the repository as specified upon creation (see
createRepository(RepositoryOptions)
).tenantId
- The id of the tenant.user
- User for whom the session should be created.openCmisProperties
- A map that will be passed to the OpenCMIS library. See
SessionFactory.createSession(Map)
and SessionParameter
. Note however
that overwriting authentication or connection parameters (like URL, binding, auth
provider) will most likely break the connection between your application and the
document service.additionalPrincipals
- A list of additional principals. The access rights with respect to ACLs to files and
folders of these principals are added to the current user rights.uniqueName
in the
SAP Cloud Platform document service.CmisObjectNotFoundException
- If the requested repository does not exist or the given key does not matchServiceException
- Generic exception that encapsulates root causespublic static String createRepository(RepositoryOptions options) throws ServiceException, RepositoryAlreadyExistsException
options
- Options specifying what kind of repository to createServiceException
- Generic exception that encapsulates root causesRepositoryAlreadyExistsException
- Thrown if the specified repository already exists (e.g. if the given uniqueName is
already in use)public static String createRepository(RepositoryOptions options, String destination) throws ServiceException, RepositoryAlreadyExistsException
options
- Options specifying what kind of repository to createdestination
- Name of the destination to the Document Service server (useful if you want to
overwrite the destination to use e.g. a service-user one). Can be null
.ServiceException
- Generic exception that encapsulates root causesRepositoryAlreadyExistsException
- Thrown if the specified repository already exists (e.g. if the given uniqueName is
already in use)public static void deleteRepository(String uniqueName, String repositoryKey) throws ServiceException, CmisObjectNotFoundException, RepositoryNotEmptyException
uniqueName
- The unique name of the repositoryrepositoryKey
- Authentication key for the repositoryServiceException
- Generic exception that encapsulates root causesCmisObjectNotFoundException
- Thrown if the specified repository does not existRepositoryNotEmptyException
- Thrown if the specified repository is not emptypublic static void deleteRepository(String uniqueName, String repositoryKey, String destination) throws ServiceException, CmisObjectNotFoundException, RepositoryNotEmptyException
uniqueName
- The unique name of the repositoryrepositoryKey
- Authentication key for the repositorydestination
- Name of the destination to the Document Service server (useful if you want to
overwrite the destination to use e.g. a service-user one). Can be null
.ServiceException
- Generic exception that encapsulates root causesCmisObjectNotFoundException
- Thrown if the specified repository does not existRepositoryNotEmptyException
- Thrown if the specified repository is not emptypublic static void forceDeleteRepository(String uniqueName, String repositoryKey) throws ServiceException, CmisObjectNotFoundException
uniqueName
- The unique name of the repository to delete the current tenant fromrepositoryKey
- Authentication key for the repositoryServiceException
- Generic exception that encapsulates root causesCmisObjectNotFoundException
- Thrown if the specified repository does not existpublic static void forceDeleteRepositoryForTenant(String uniqueName, String repositoryKey, String tenantId) throws ServiceException, CmisObjectNotFoundException
uniqueName
- The unique name of the repository to delete the specified tenant fromrepositoryKey
- Authentication key for the repositorytenantId
- tenant id of the tenant that is to be deleted from the specified repositoryServiceException
- Generic exception that encapsulates root causesCmisObjectNotFoundException
- Thrown if the specified repository does not existpublic static void forceDeleteRepositoryForAllTenants(String uniqueName, String repositoryKey) throws ServiceException, CmisObjectNotFoundException
uniqueName
- The unique name of the repository to delete all tenants fromrepositoryKey
- Authentication key for the repositoryServiceException
- Generic exception that encapsulates root causesCmisObjectNotFoundException
- Thrown if the specified repository does not existCopyright © 2018 SAP. All Rights Reserved.