|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
public interface DocumentManagementService
The DocumentManagementService provides all functionality for DMS operations in a CARNOT runtime environment.
This includes:
| Method Summary | |
|---|---|
void |
bindRepository(IRepositoryConfiguration configuration)
Binds a new repository instance. |
Document |
createDocument(String folderId,
DocumentInfo document)
Creates document in a folder described by the document info. |
Document |
createDocument(String folderId,
DocumentInfo document,
byte[] content,
String encoding)
Creates document in a folder described by the document info. |
Folder |
createFolder(String parentFolderId,
FolderInfo folder)
Creates document in a folder described by the document info. |
Documents |
findDocuments(DocumentQuery query)
Retrieves all documents satisfying the criteria specified in the provided query. |
List<Document> |
findDocuments(String xpathQuery)
Deprecated. |
List<Document> |
findDocumentsByName(String namePattern)
Deprecated. |
List<Folder> |
findFolders(String xpathQuery,
int levelOfDetail)
Deprecated. |
List<Folder> |
findFoldersByName(String namePattern,
int levelOfDetail)
Deprecated. |
Set<org.eclipse.stardust.engine.api.runtime.AccessControlPolicy> |
getApplicablePolicies(String resourceId)
Returns the IAccessControlPolicy objects that can be set for the resource denoted by resourceId. |
String |
getDefaultRepository()
Allows to identify the currently set default repository. |
Document |
getDocument(String documentId)
Gets the document by ID or path. |
List<Document> |
getDocuments(List<String> documentIds)
Gets multiple documents by ID or path. |
List<Document> |
getDocumentVersions(String documentId)
Gets all versions of the document by document ID (of any of its version). |
Set<org.eclipse.stardust.engine.api.runtime.AccessControlPolicy> |
getEffectivePolicies(String resourceId)
Returns the IAccessControlPolicy objects that currently are in effect on the resource denoted by resourceId (cumulated). |
Folder |
getFolder(String folderId)
Retrieves a folder and lists its members. |
Folder |
getFolder(String folderId,
int levelOfDetail)
Retrieves a folder. |
List<Folder> |
getFolders(List<String> folderIds,
int levelOfDetail)
Gets multiple folders by ID or path. |
Set<org.eclipse.stardust.engine.api.runtime.AccessControlPolicy> |
getPolicies(String resourceId)
Returns the IAccessControlPolicy objects that are currently set for the resource denoted by resourceId. |
Set<org.eclipse.stardust.engine.api.runtime.Privilege> |
getPrivileges(String resourceId)
Returns the privileges the session has for the resource denoted by resourceId, which must exist. |
List<IRepositoryInstanceInfo> |
getRepositoryInstanceInfos()
Provides information about all bound repositories. |
List<IRepositoryProviderInfo> |
getRepositoryProviderInfos()
Provides information about all available repository providers. |
byte[] |
getSchemaDefinition(String schemaLocation)
Retrieves the XSD schema for the specified schema location from the Document Repository serialized into a byte[]. |
RepositoryMigrationReport |
migrateRepository(int batchSize,
boolean evaluateTotalCount)
Migrates resources in the repository. |
RepositoryMigrationReport |
migrateRepository(int batchSize,
boolean evaluateTotalCount,
String repositoryId)
|
Document |
moveDocument(String documentId,
String targetPath)
Moves the document to the target path. |
void |
removeDocument(String documentId)
Removes document. |
void |
removeDocumentVersion(String documentId,
String documentRevisionId)
Removes a version of a document. |
void |
removeFolder(String folderId,
boolean recursive)
Removes folder. |
String |
requestDocumentContentDownload(String documentId)
Initiates document content download via DmsContentServlet. |
String |
requestDocumentContentUpload(String documentId)
Initiates document content upload via DmsContentServlet. |
byte[] |
retrieveDocumentContent(String documentId)
Retrieves the content of the document identified by documentId. |
void |
setDefaultRepository(String repositoryId)
Allows to set a bound repository as default repository. |
void |
setPolicy(String resourceId,
org.eclipse.stardust.engine.api.runtime.AccessControlPolicy policy)
Binds the policy to the resource denoted by resourceId (overwrites the old version of the policy) If the policy does not contain any IAccessControlEntry then this policy is removed from the resource. |
void |
unbindRepository(String repositoryId)
Unbinds a previously bound repository. |
Document |
updateDocument(Document document,
boolean createNewRevision,
String versionLabel,
boolean keepLocked)
Deprecated. since 7.0 use updateDocument(Document, boolean, String, String, boolean) |
Document |
updateDocument(Document document,
boolean createNewRevision,
String versionComment,
String versionLabel,
boolean keepLocked)
Updates document (except document content). |
Document |
updateDocument(Document document,
byte[] content,
String encoding,
boolean createNewRevision,
String versionLabel,
boolean keepLocked)
Deprecated. since 7.0 use updateDocument(Document, byte[], String, boolean, String, String, boolean) |
Document |
updateDocument(Document document,
byte[] content,
String encoding,
boolean createNewRevision,
String versionComment,
String versionLabel,
boolean keepLocked)
Updates document. |
Folder |
updateFolder(Folder folder)
Updates folder. |
Document |
versionDocument(String documentId,
String versionLabel)
Deprecated. since 7.0 use versionDocument(String, String, String) |
Document |
versionDocument(String documentId,
String versionComment,
String versionLabel)
Creates a new version of the document. |
| Method Detail |
|---|
@ExecutionPermission
Document getDocument(String documentId)
throws org.eclipse.stardust.engine.api.runtime.DocumentManagementServiceException
documentId - the ID or path of the document.
org.eclipse.stardust.engine.api.runtime.DocumentManagementServiceException - on DMS specific errors
@ExecutionPermission
List<Document> getDocumentVersions(String documentId)
throws org.eclipse.stardust.engine.api.runtime.DocumentManagementServiceException
documentId - the ID (any version) or path of the document.
org.eclipse.stardust.engine.api.runtime.DocumentManagementServiceException - on DMS specific errors
@ExecutionPermission
List<Document> getDocuments(List<String> documentIds)
throws org.eclipse.stardust.engine.api.runtime.DocumentManagementServiceException
documentIds - list of document IDs or paths.
org.eclipse.stardust.engine.api.runtime.DocumentManagementServiceException - on DMS specific errors
@ExecutionPermission
@Deprecated
List<Document> findDocumentsByName(String namePattern)
throws org.eclipse.stardust.engine.api.runtime.DocumentManagementServiceException
namePattern - the name pattern to search for.
org.eclipse.stardust.engine.api.runtime.DocumentManagementServiceException - on DMS specific errors
@ExecutionPermission
@Deprecated
List<Document> findDocuments(String xpathQuery)
throws org.eclipse.stardust.engine.api.runtime.DocumentManagementServiceException
xpathQuery - the XPath query.
org.eclipse.stardust.engine.api.runtime.DocumentManagementServiceException - on DMS specific errors@ExecutionPermission Documents findDocuments(DocumentQuery query)
query - the document query.
@ExecutionPermission
byte[] retrieveDocumentContent(String documentId)
throws org.eclipse.stardust.engine.api.runtime.DocumentManagementServiceException
documentId.
Warning: this method should only be used for documents of reasonable size as the
full content will be materialized in memory both on the server as well as on the
client. It is recommended to us the facilities provided by
DmsContentServlet
for memory efficient content access.
documentId - The ID or path of the document content should be retrieved for.
Document.getEncoding() attribute.
org.eclipse.stardust.engine.api.runtime.DocumentManagementServiceException - on DMS specific errorsrequestDocumentContentDownload(String)
@ExecutionPermission
String requestDocumentContentDownload(String documentId)
throws org.eclipse.stardust.engine.api.runtime.DocumentManagementServiceException
DmsContentServlet. The
returned token should be used as relative URI for the content Servlet and will be
valid as long as the session associated with this service is alive.
documentId - The ID or path of the document content should be retrieved for.
org.eclipse.stardust.engine.api.runtime.DocumentManagementServiceException - on DMS specific errors
@ExecutionPermission
Folder getFolder(String folderId)
throws org.eclipse.stardust.engine.api.runtime.DocumentManagementServiceException
folderId - The ID or path expression identifying the folder to be retrieved.
org.eclipse.stardust.engine.api.runtime.DocumentManagementServiceException - on DMS specific errorsFolder.LOD_LIST_MEMBERS
@ExecutionPermission
Folder getFolder(String folderId,
int levelOfDetail)
throws org.eclipse.stardust.engine.api.runtime.DocumentManagementServiceException
folderId - ID or path of the folder.levelOfDetail - one of Folder.LOD_NO_MEMBERS, Folder.LOD_LIST_MEMBERS
or Folder.LOD_LIST_MEMBERS_OF_MEMBERS.
org.eclipse.stardust.engine.api.runtime.DocumentManagementServiceException - on DMS specific errorsFolder.LOD_LIST_MEMBERS
@ExecutionPermission
List<Folder> getFolders(List<String> folderIds,
int levelOfDetail)
throws org.eclipse.stardust.engine.api.runtime.DocumentManagementServiceException
folderIds - list of IDs or paths.levelOfDetail - one of Folder.LOD_NO_MEMBERS, Folder.LOD_LIST_MEMBERS
or Folder.LOD_LIST_MEMBERS_OF_MEMBERS.
org.eclipse.stardust.engine.api.runtime.DocumentManagementServiceException - on DMS specific errors
@ExecutionPermission
@Deprecated
List<Folder> findFoldersByName(String namePattern,
int levelOfDetail)
throws org.eclipse.stardust.engine.api.runtime.DocumentManagementServiceException
namePattern - the name pattern to search for.levelOfDetail - one of Folder.LOD_NO_MEMBERS, Folder.LOD_LIST_MEMBERS
or Folder.LOD_LIST_MEMBERS_OF_MEMBERS.
org.eclipse.stardust.engine.api.runtime.DocumentManagementServiceException - on DMS specific errors
@ExecutionPermission
@Deprecated
List<Folder> findFolders(String xpathQuery,
int levelOfDetail)
throws org.eclipse.stardust.engine.api.runtime.DocumentManagementServiceException
xpathQuery - the XPath query.levelOfDetail - one of Folder.LOD_NO_MEMBERS, Folder.LOD_LIST_MEMBERS
or Folder.LOD_LIST_MEMBERS_OF_MEMBERS.
org.eclipse.stardust.engine.api.runtime.DocumentManagementServiceException - on DMS specific errors
@ExecutionPermission(id=modifyDmsData,
defaults=ALL)
Document createDocument(String folderId,
DocumentInfo document)
throws org.eclipse.stardust.engine.api.runtime.DocumentManagementServiceException
folderId - ID or path of the folder to create the document in. Value "/"
designates the top-level folder.document - an instance of DocumentInfo that describs the document.
org.eclipse.stardust.engine.api.runtime.DocumentManagementServiceException - on DMS specific errors
@ExecutionPermission(id=modifyDmsData,
defaults=ALL)
Document createDocument(String folderId,
DocumentInfo document,
byte[] content,
String encoding)
throws org.eclipse.stardust.engine.api.runtime.DocumentManagementServiceException
For the content an encoding can be specified e.g. (UTF-8, UTF-16).
The encoding can take any value and can be used to decode the content byte[]
after retrieving it via retrieveDocumentContent(String).
Warning: this method should only be used for documents of reasonable size as the
full content will be materialized in memory both on the server as well as on the
client. It is recommended to us the facilities provided by
DmsContentServlet for memory efficient content access.
folderId - ID or path of the folder to create the document in. Value "/"
designates the top-level folderdocument - an instance of DocumentInfo that describes the document.content - the content of the new document.encoding - encoding of the new document content.
org.eclipse.stardust.engine.api.runtime.DocumentManagementServiceException - on DMS specific errorsrequestDocumentContentUpload(String)
@Deprecated
@ExecutionPermission(id=modifyDmsData,
defaults=ALL)
Document versionDocument(String documentId,
String versionLabel)
throws org.eclipse.stardust.engine.api.runtime.DocumentManagementServiceException
versionDocument(String, String, String)
documentId - ID or path of the document to be versionedversionLabel - label for the new revision. The label must be unique per document.
org.eclipse.stardust.engine.api.runtime.DocumentManagementServiceException - on DMS specific errors
@ExecutionPermission(id=modifyDmsData,
defaults=ALL)
Document versionDocument(String documentId,
String versionComment,
String versionLabel)
throws org.eclipse.stardust.engine.api.runtime.DocumentManagementServiceException
documentId - ID or path of the document to be versionedversionComment - comment for the new revisionversionLabel - label for the new revision. The label must be unique per document.
org.eclipse.stardust.engine.api.runtime.DocumentManagementServiceException - on DMS specific errors
@ExecutionPermission(id=modifyDmsData,
defaults=ALL)
void removeDocumentVersion(String documentId,
String documentRevisionId)
throws org.eclipse.stardust.engine.api.runtime.DocumentManagementServiceException
DocumentManagementServiceException.DocumentManagementServiceException will be thrown.documentId will lead to a DocumentManagementServiceException.
documentId - ID or path of the document.documentRevisionId - The revisionId of the document version to be removed.
org.eclipse.stardust.engine.api.runtime.DocumentManagementServiceException - on DMS specific errors
@ExecutionPermission(id=modifyDmsData,
defaults=ALL)
Document moveDocument(String documentId,
String targetPath)
throws org.eclipse.stardust.engine.api.runtime.DocumentManagementServiceException
If the targetPath or folderId points to a different repository than the source document is located in only the latest version is moved to the targeted repository.
documentId - The document to be moved.targetPath - The path or folderId to move the document to.
org.eclipse.stardust.engine.api.runtime.DocumentManagementServiceException - on DMS specific errors
@Deprecated
@ExecutionPermission(id=modifyDmsData,
defaults=ALL)
Document updateDocument(Document document,
boolean createNewRevision,
String versionLabel,
boolean keepLocked)
throws org.eclipse.stardust.engine.api.runtime.DocumentManagementServiceException
updateDocument(Document, boolean, String, String, boolean)
document - document to update.createNewRevision - if true, new revision of the document will be createdversionLabel - if createNewRevision is true, the new revision will be labeled with this label. The label must be unique per document.keepLocked - if true, the document will be kept locked after update.
org.eclipse.stardust.engine.api.runtime.DocumentManagementServiceException - on DMS specific errors
@ExecutionPermission(id=modifyDmsData,
defaults=ALL)
Document updateDocument(Document document,
boolean createNewRevision,
String versionComment,
String versionLabel,
boolean keepLocked)
throws org.eclipse.stardust.engine.api.runtime.DocumentManagementServiceException
document - document to update.createNewRevision - if true, new revision of the document will be createdversionComment - can be specified to comment the version operation.versionLabel - if createNewRevision is true, the new revision will be labeled with this label. The label must be unique per document.keepLocked - if true, the document will be kept locked after update.
org.eclipse.stardust.engine.api.runtime.DocumentManagementServiceException - on DMS specific errors
@Deprecated
@ExecutionPermission(id=modifyDmsData,
defaults=ALL)
Document updateDocument(Document document,
byte[] content,
String encoding,
boolean createNewRevision,
String versionLabel,
boolean keepLocked)
throws org.eclipse.stardust.engine.api.runtime.DocumentManagementServiceException
updateDocument(Document, byte[], String, boolean, String, String, boolean)
Warning: this method should only be used for documents of reasonable size as the
full content will be materialized in memory both on the server as well as on the
client. It is recommended to us the facilities provided by
DmsContentServlet for memory efficient content access.
document - document to update.content - new document content.encoding - encoding of the new document content.createNewRevision - if true, new revision of the document will be createdversionLabel - if createNewRevision is true, the new revision will be labeled with this label. The label must be unique per document.keepLocked - if true, the document will be kept locked after update.
org.eclipse.stardust.engine.api.runtime.DocumentManagementServiceException - on DMS specific errorsrequestDocumentContentUpload(String)
@ExecutionPermission(id=modifyDmsData,
defaults=ALL)
Document updateDocument(Document document,
byte[] content,
String encoding,
boolean createNewRevision,
String versionComment,
String versionLabel,
boolean keepLocked)
throws org.eclipse.stardust.engine.api.runtime.DocumentManagementServiceException
Warning: this method should only be used for documents of reasonable size as the
full content will be materialized in memory both on the server as well as on the
client. It is recommended to us the facilities provided by
DmsContentServlet for memory efficient content access.
document - document to update.content - new document content.encoding - encoding of the new document content.createNewRevision - if true, new revision of the document will be createdversionComment - can be specified to comment the version operation.versionLabel - if createNewRevision is true, the new revision will be labeled with this label. The label must be unique per document.keepLocked - if true, the document will be kept locked after update.
org.eclipse.stardust.engine.api.runtime.DocumentManagementServiceException - on DMS specific errorsrequestDocumentContentUpload(String)
@ExecutionPermission(id=modifyDmsData,
defaults=ALL)
String requestDocumentContentUpload(String documentId)
throws org.eclipse.stardust.engine.api.runtime.DocumentManagementServiceException
DmsContentServlet. The
returned token should be used as relative URI for the content Servlet and will be
valid as long as the session associated with this service is alive.
documentId - The ID/path of the document content should be retrieved for.
org.eclipse.stardust.engine.api.runtime.DocumentManagementServiceException - on DMS specific errors
@ExecutionPermission(id=modifyDmsData,
defaults=ALL)
void removeDocument(String documentId)
throws org.eclipse.stardust.engine.api.runtime.DocumentManagementServiceException
documentId - ID or path of the document to remove.
org.eclipse.stardust.engine.api.runtime.DocumentManagementServiceException - on DMS specific errors
@ExecutionPermission(id=modifyDmsData,
defaults=ALL)
Folder createFolder(String parentFolderId,
FolderInfo folder)
throws org.eclipse.stardust.engine.api.runtime.DocumentManagementServiceException
parentFolderId - ID or path of the folder to create the folder in. Value "/"
designates the top-level folder.folder - an instance of FolderInfo that describs the folder.
org.eclipse.stardust.engine.api.runtime.DocumentManagementServiceException - on DMS specific errors
@ExecutionPermission(id=modifyDmsData,
defaults=ALL)
Folder updateFolder(Folder folder)
throws org.eclipse.stardust.engine.api.runtime.DocumentManagementServiceException
folder - folder to be updated.
org.eclipse.stardust.engine.api.runtime.DocumentManagementServiceException - on DMS specific errors
@ExecutionPermission(id=modifyDmsData,
defaults=ALL)
void removeFolder(String folderId,
boolean recursive)
throws org.eclipse.stardust.engine.api.runtime.DocumentManagementServiceException
folderId - ID or path of the folder to remove.recursive - if true, documents and subfolders will be removed also
(applies to all the children). If false, only the folder itself will be removed.
org.eclipse.stardust.engine.api.runtime.DocumentManagementServiceException - on DMS specific errors@ExecutionPermission Set<org.eclipse.stardust.engine.api.runtime.Privilege> getPrivileges(String resourceId)
resourceId - absolute path or ID of a file or folder@ExecutionPermission Set<org.eclipse.stardust.engine.api.runtime.AccessControlPolicy> getEffectivePolicies(String resourceId)
resourceId - absolute path or ID of a file or folder@ExecutionPermission Set<org.eclipse.stardust.engine.api.runtime.AccessControlPolicy> getPolicies(String resourceId)
resourceId - absolute path or ID of a file or folder@ExecutionPermission Set<org.eclipse.stardust.engine.api.runtime.AccessControlPolicy> getApplicablePolicies(String resourceId)
resourceId - absolute path or ID of a file or folder
@ExecutionPermission(id=modifyDmsData,
defaults=ALL)
void setPolicy(String resourceId,
org.eclipse.stardust.engine.api.runtime.AccessControlPolicy policy)
resourceId - absolute path or ID of a file or folderpolicy -
@ExecutionPermission(id=modifyDmsData,
defaults=ALL)
RepositoryMigrationReport migrateRepository(int batchSize,
boolean evaluateTotalCount)
throws org.eclipse.stardust.engine.api.runtime.DocumentManagementServiceException
Important Note Please ensure there is no other write access on the repository to avoid race conditions! Since there is no locking mechanism this should be run in read-only maintenance window!
The MigrationReport returned by each call contains information about: Total resources that need migration to the next version, resources already migrated, current version, next version and target version of the repository structure.
There are two different versions, internal versions are migrated first.
The vfs internal version called repositoryVersion. RepositoryMigrationReport.getTargetRepositoryVersion()
The engine's structure version called repositoryStructureVersion.
RepositoryMigrationReport.getTargetRepositoryStructureVersion()
batchSize - count of resources to be migrated in this call. A value of 0 will return a
MigrationReport without migrating.evaluateTotalCount - if set to true the total count of resources that need processing in this
migration step is evaluated. Setting this parameter to false saves
performance.
org.eclipse.stardust.engine.api.runtime.DocumentManagementServiceException - if there are problems in repository access or the user is not an administrator.
@ExecutionPermission
byte[] getSchemaDefinition(String schemaLocation)
throws org.eclipse.stardust.common.error.ObjectNotFoundException
schemaLocation - the document type's schema location
org.eclipse.stardust.common.error.ObjectNotFoundException - if the specified schema location cannot be found@ExecutionPermission void bindRepository(IRepositoryConfiguration configuration)
The repository id supplied via IRepositoryConfiguration.REPOSITORY_ID can be freely chosen but has to differ from
currently bound repository ids.
The provider id supplied via IRepositoryConfiguration.PROVIDER_ID has to match a registered repository provider.
IRepositoryConfiguration can be retrieved from IRepositoryProviderInfo.getConfigurationTemplate().
configuration - The configuration for the repository to bind.@ExecutionPermission void unbindRepository(String repositoryId)
repositoryId - The id of the repository instance to unbind.@ExecutionPermission List<IRepositoryInstanceInfo> getRepositoryInstanceInfos()
@ExecutionPermission List<IRepositoryProviderInfo> getRepositoryProviderInfos()
The IRepositoryProviderInfo.getProviderId() is used to select a repository
provider when binding a new repository instance with
bindRepository(IRepositoryConfiguration).
@ExecutionPermission void setDefaultRepository(String repositoryId)
Allows to set a bound repository as default repository.
Path based access targets the default repository.
repositoryId - The id of the repository instance.@ExecutionPermission String getDefaultRepository()
@ExecutionPermission(id=modifyDmsData,
defaults=ALL)
RepositoryMigrationReport migrateRepository(int batchSize,
boolean evaluateTotalCount,
String repositoryId)
throws org.eclipse.stardust.engine.api.runtime.DocumentManagementServiceException
org.eclipse.stardust.engine.api.runtime.DocumentManagementServiceException
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||