|
||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
public interface I_CmsVfsDriver
Definitions of all required VFS driver methods.
Field Summary | |
---|---|
static int |
DRIVER_TYPE_ID
The type ID to identify user driver implementations. |
static java.lang.String |
REQ_ATTR_CHECK_PERMISSIONS
The internal request attribute to indicate that the permissions have to be checked. |
static java.lang.String |
REQ_ATTR_RESOURCE_OUS
The internal request attribute to indicate that resource organizational units have to be retrieved. |
static int |
todo
Add the methods that use these constants to the interface as soon as possible. |
Method Summary | |
---|---|
int |
countSiblings(CmsDbContext dbc,
CmsUUID projectId,
CmsUUID resourceId)
Counts the number of siblings of a resource. |
void |
createContent(CmsDbContext dbc,
CmsUUID projectId,
CmsUUID resourceId,
byte[] content)
Creates a content entry for the resource identified by the specified resource id. |
CmsFile |
createFile(java.sql.ResultSet res,
CmsUUID projectId)
Creates a CmsFile instance from a JDBC ResultSet. |
CmsFile |
createFile(java.sql.ResultSet res,
CmsUUID projectId,
boolean hasFileContentInResultSet)
Creates a CmsFile instance from a JDBC ResultSet. |
CmsFolder |
createFolder(java.sql.ResultSet res,
CmsUUID projectId,
boolean hasProjectIdInResultSet)
Creates a CmsFolder instance from a JDBC ResultSet. |
void |
createOnlineContent(CmsDbContext dbc,
CmsUUID resourceId,
byte[] contents,
int publishTag,
boolean keepOnline,
boolean needToUpdateContent)
Creates a new content in the offline project. |
CmsPropertyDefinition |
createPropertyDefinition(CmsDbContext dbc,
CmsUUID projectId,
java.lang.String name,
CmsPropertyDefinition.CmsPropertyType type)
Creates a new property definition in the database. |
void |
createRelation(CmsDbContext dbc,
CmsUUID projectId,
CmsRelation relation)
Creates a new CmsRelation object in the database. |
CmsResource |
createResource(CmsDbContext dbc,
CmsUUID projectId,
CmsResource resource,
byte[] content)
Creates a new resource from a given CmsResource object. |
CmsResource |
createResource(java.sql.ResultSet res,
CmsUUID projectId)
Creates a CmsResource instance from a JDBC ResultSet. |
void |
createSibling(CmsDbContext dbc,
CmsProject project,
CmsResource resource)
Creates a new sibling for a specified resource. |
void |
deletePropertyDefinition(CmsDbContext dbc,
CmsPropertyDefinition name)
Deletes a property definition. |
void |
deletePropertyObjects(CmsDbContext dbc,
CmsUUID projectId,
CmsResource resource,
int deleteOption)
Deletes all property values of a file or folder. |
void |
deleteRelations(CmsDbContext dbc,
CmsUUID projectId,
CmsResource resource,
CmsRelationFilter filter)
Deletes all relations with the given filter for the given resource. |
void |
destroy()
Destroys this driver. |
CmsSqlManager |
getSqlManager()
Returns the SqlManager of this driver. |
CmsSqlManager |
initSqlManager(java.lang.String classname)
Initializes the SQL manager for this driver. |
void |
moveResource(CmsDbContext dbc,
CmsUUID projectId,
CmsResource source,
java.lang.String destinationPath)
Moves the given resource to the specified destination path. |
void |
publishResource(CmsDbContext dbc,
CmsProject onlineProject,
CmsResource onlineResource,
CmsResource offlineResource)
Publishes the structure and resource records of an offline resource into it's online counterpart. |
void |
publishVersions(CmsDbContext dbc,
CmsResource resource,
boolean firstSibling)
Copies the version number from the offline resource to the online resource, this has to be done during publishing, direct after copying the resource itself. |
java.util.List |
readChildResources(CmsDbContext dbc,
CmsProject currentProject,
CmsResource resource,
boolean getFolders,
boolean getFiles)
Reads all child-files and/or child-folders of a specified parent resource. |
byte[] |
readContent(CmsDbContext dbc,
CmsUUID projectId,
CmsUUID resourceId)
Reads the content of a file specified by it's resource ID. |
CmsFolder |
readFolder(CmsDbContext dbc,
CmsUUID projectId,
CmsUUID folderId)
Reads a folder specified by it's structure ID. |
CmsFolder |
readFolder(CmsDbContext dbc,
CmsUUID projectId,
java.lang.String foldername)
Reads a folder specified by it's resource name. |
CmsFolder |
readParentFolder(CmsDbContext dbc,
CmsUUID projectId,
CmsUUID structureId)
Reads the parent folder of a resource specified by it's structure ID. |
CmsPropertyDefinition |
readPropertyDefinition(CmsDbContext dbc,
java.lang.String name,
CmsUUID projectId)
Reads a property definition for the specified resource type. |
java.util.List |
readPropertyDefinitions(CmsDbContext dbc,
CmsUUID projectId)
Reads all property definitions for the specified mapping type. |
CmsProperty |
readPropertyObject(CmsDbContext dbc,
java.lang.String key,
CmsProject project,
CmsResource resource)
Reads a property object from the database specified by it's key name mapped to a resource. |
java.util.List |
readPropertyObjects(CmsDbContext dbc,
CmsProject project,
CmsResource resource)
Reads all property objects mapped to a specified resource from the database. |
java.util.List |
readRelations(CmsDbContext dbc,
CmsUUID projectId,
CmsResource resource,
CmsRelationFilter filter)
Reads all relations with the given filter for the given resource. |
CmsResource |
readResource(CmsDbContext dbc,
CmsUUID projectId,
CmsUUID structureId,
boolean includeDeleted)
Reads a resource specified by it's structure ID. |
CmsResource |
readResource(CmsDbContext dbc,
CmsUUID projectId,
java.lang.String filename,
boolean includeDeleted)
Reads a resource specified by it's resource name. |
java.util.List |
readResources(CmsDbContext dbc,
CmsUUID currentProject,
CmsResourceState state,
int mode)
Reads all resources inside a given project and with a given state. |
java.util.List |
readResourcesForPrincipalACE(CmsDbContext dbc,
CmsProject project,
CmsUUID principalId)
Returns all resources associated to a given principal via an ACE. |
java.util.List |
readResourcesForPrincipalAttr(CmsDbContext dbc,
CmsProject project,
CmsUUID principalId)
Returns all resources associated to a given principal through some of following attributes. |
java.util.List |
readResourcesWithProperty(CmsDbContext dbc,
CmsUUID projectId,
CmsUUID propertyDefinition,
java.lang.String path,
java.lang.String value)
Reads all resources that have a value (containing the specified value) set for the specified property (definition), in the given path. |
java.util.List |
readResourceTree(CmsDbContext dbc,
CmsUUID projectId,
java.lang.String parent,
int type,
CmsResourceState state,
long startTime,
long endTime,
long releasedAfter,
long releasedBefore,
long expiredAfter,
long expiredBefore,
int mode)
Reads all resources inside a given project matching the criteria specified by parameter values. |
java.util.List |
readSiblings(CmsDbContext dbc,
CmsUUID projectId,
CmsResource resource,
boolean includeDeleted)
Reads all siblings that point to the resource record of a specified resource. |
java.util.Map |
readVersions(CmsDbContext dbc,
CmsUUID projectId,
CmsUUID resourceId,
CmsUUID structureId)
Reads a resource version numbers. |
void |
removeFile(CmsDbContext dbc,
CmsUUID projectId,
CmsResource resource)
Removes a file physically in the database. |
void |
removeFolder(CmsDbContext dbc,
CmsProject currentProject,
CmsResource resource)
Removes a folder physically in the database. |
void |
replaceResource(CmsDbContext dbc,
CmsResource newResource,
byte[] newResourceContent,
int newResourceType)
Replaces the content and properties of an existing resource. |
void |
transferResource(CmsDbContext dbc,
CmsProject project,
CmsResource resource,
CmsUUID createdUser,
CmsUUID lastModifiedUser)
Transfers the attributes of a resource from to the given users. |
void |
updateRelations(CmsDbContext dbc,
CmsProject onlineProject,
CmsResource offlineResource)
Updates the relations on the online project copying the relations from the offline project. |
boolean |
validateResourceIdExists(CmsDbContext dbc,
CmsUUID projectId,
CmsUUID resourceId)
Validates if the specified resource ID in the tables of the specified project {offline|online} exists. |
boolean |
validateStructureIdExists(CmsDbContext dbc,
CmsUUID projectId,
CmsUUID structureId)
Validates if the specified structure ID in the tables of the specified project {offline|online} exists. |
void |
writeContent(CmsDbContext dbc,
CmsUUID resourceId,
byte[] content)
Writes the resource content with the specified resource id. |
void |
writeLastModifiedProjectId(CmsDbContext dbc,
CmsProject project,
CmsUUID projectId,
CmsResource resource)
Writes the "last-modified-in-project" ID of a resource. |
void |
writePropertyObject(CmsDbContext dbc,
CmsProject project,
CmsResource resource,
CmsProperty property)
Writes a property object to the database mapped to a specified resource. |
void |
writePropertyObjects(CmsDbContext dbc,
CmsProject project,
CmsResource resource,
java.util.List properties)
Writes a list of property objects to the database mapped to a specified resource. |
void |
writeResource(CmsDbContext dbc,
CmsUUID projectId,
CmsResource resource,
int changed)
Writes the structure and/or resource record(s) of an existing file. |
void |
writeResourceState(CmsDbContext dbc,
CmsProject project,
CmsResource resource,
int changed,
boolean isPublishing)
Writes file state in either the structure or resource record, or both of them. |
Field Detail |
---|
static final int DRIVER_TYPE_ID
static final java.lang.String REQ_ATTR_CHECK_PERMISSIONS
static final java.lang.String REQ_ATTR_RESOURCE_OUS
static final int todo
Method Detail |
---|
int countSiblings(CmsDbContext dbc, CmsUUID projectId, CmsUUID resourceId) throws CmsDataAccessException
dbc
- the current database contextprojectId
- the current project idresourceId
- the resource id to count the number of siblings from
CmsDataAccessException
- if something goes wrongvoid createContent(CmsDbContext dbc, CmsUUID projectId, CmsUUID resourceId, byte[] content) throws CmsDataAccessException
dbc
- the current database contextprojectId
- the id of the current projectresourceId
- the resource id of the resource to create the content forcontent
- the content to write
CmsDataAccessException
- if something goes wrongCmsFile createFile(java.sql.ResultSet res, CmsUUID projectId) throws java.sql.SQLException
CmsFile
instance from a JDBC ResultSet.
res
- the JDBC ResultSetprojectId
- the project id
java.sql.SQLException
- in case the result set does not include a requested table attributeCmsFile createFile(java.sql.ResultSet res, CmsUUID projectId, boolean hasFileContentInResultSet) throws java.sql.SQLException
CmsFile
instance from a JDBC ResultSet.
res
- the JDBC ResultSetprojectId
- the project idhasFileContentInResultSet
- flag to include the file content
java.sql.SQLException
- in case the result set does not include a requested table attributeCmsFolder createFolder(java.sql.ResultSet res, CmsUUID projectId, boolean hasProjectIdInResultSet) throws java.sql.SQLException
CmsFolder
instance from a JDBC ResultSet.
res
- the JDBC ResultSetprojectId
- the ID of the current projecthasProjectIdInResultSet
- true if the SQL select query includes the PROJECT_ID table attribute
java.sql.SQLException
- in case the result set does not include a requested table attributevoid createOnlineContent(CmsDbContext dbc, CmsUUID resourceId, byte[] contents, int publishTag, boolean keepOnline, boolean needToUpdateContent) throws CmsDataAccessException
dbc
- the current database contextresourceId
- the resource id of the content to writecontents
- the content to publishpublishTag
- the publish tagkeepOnline
- if the content is online or has to be put in the historyneedToUpdateContent
- if the content blob has to be updated
CmsDataAccessException
- if something goes wrongCmsPropertyDefinition createPropertyDefinition(CmsDbContext dbc, CmsUUID projectId, java.lang.String name, CmsPropertyDefinition.CmsPropertyType type) throws CmsDataAccessException
dbc
- the current database contextprojectId
- the project in which the property definition is createdname
- the name of the property definitiontype
- the type of the property definition
CmsDataAccessException
- if something goes wrongvoid createRelation(CmsDbContext dbc, CmsUUID projectId, CmsRelation relation) throws CmsDataAccessException
CmsRelation
object in the database.
dbc
- the current database contextprojectId
- the id of the project to execute the query inrelation
- the relation to create
CmsDataAccessException
- if something goes wrongCmsResource createResource(CmsDbContext dbc, CmsUUID projectId, CmsResource resource, byte[] content) throws CmsDataAccessException
CmsResource
object.This method works for both files and folders. Existing resources get overwritten.
dbc
- the current database contextprojectId
- the id of the current projectresource
- the resource to be createdcontent
- the file content, or null in case of a folder
CmsDataAccessException
- if something goes wrongI_CmsResourceType.createResource(org.opencms.file.CmsObject, CmsSecurityManager, String, byte[], List)
,
I_CmsResourceType.importResource(org.opencms.file.CmsObject, CmsSecurityManager, String, CmsResource, byte[], List)
,
CmsObject.createResource(String, int, byte[], List)
,
CmsObject.importResource(String, CmsResource, byte[], List)
CmsResource createResource(java.sql.ResultSet res, CmsUUID projectId) throws java.sql.SQLException
res
- the JDBC ResultSetprojectId
- the ID of the current project to adjust the modification date in case the resource is a VFS link
java.sql.SQLException
- in case the result set does not include a requested table attributevoid createSibling(CmsDbContext dbc, CmsProject project, CmsResource resource) throws CmsDataAccessException
dbc
- the current database contextproject
- the project where to create the linkresource
- the link prototype
CmsDataAccessException
- if something goes wrongvoid deletePropertyDefinition(CmsDbContext dbc, CmsPropertyDefinition name) throws CmsDataAccessException
dbc
- the current database contextname
- the property definitions to be deleted
CmsDataAccessException
- if something goes wrongvoid deletePropertyObjects(CmsDbContext dbc, CmsUUID projectId, CmsResource resource, int deleteOption) throws CmsDataAccessException
You may specify which whether just structure or resource property values should be deleted, or both of them.
dbc
- the current database contextprojectId
- the id of the projectresource
- the resourcedeleteOption
- determines which property values should be deleted
CmsDataAccessException
- if something goes wrongCmsProperty.DELETE_OPTION_DELETE_STRUCTURE_AND_RESOURCE_VALUES
,
CmsProperty.DELETE_OPTION_DELETE_STRUCTURE_VALUES
,
CmsProperty.DELETE_OPTION_DELETE_RESOURCE_VALUES
void deleteRelations(CmsDbContext dbc, CmsUUID projectId, CmsResource resource, CmsRelationFilter filter) throws CmsDataAccessException
dbc
- the current database contextprojectId
- the id of the project to execute the query inresource
- the base resource. May be null
for allfilter
- the filter to restrict the relations to remove
CmsDataAccessException
- if something goes wrongvoid destroy() throws java.lang.Throwable
java.lang.Throwable
- if something goes wrongCmsSqlManager getSqlManager()
CmsSqlManager initSqlManager(java.lang.String classname)
To obtain JDBC connections from different pools, further {online|offline|history} pool Urls have to be specified.
classname
- the class name of the SQL manager
void moveResource(CmsDbContext dbc, CmsUUID projectId, CmsResource source, java.lang.String destinationPath) throws CmsDataAccessException
dbc
- the current database contextprojectId
- the Id of the projectsource
- the resource to movedestinationPath
- the root path of the destination resource
CmsDataAccessException
- if something goes wrongvoid publishResource(CmsDbContext dbc, CmsProject onlineProject, CmsResource onlineResource, CmsResource offlineResource) throws CmsDataAccessException
dbc
- the current database contextonlineProject
- the online projectonlineResource
- the online resourceofflineResource
- the offline resource
CmsDataAccessException
- if something goes wrongvoid publishVersions(CmsDbContext dbc, CmsResource resource, boolean firstSibling) throws CmsDataAccessException
dbc
- the current database contextresource
- the resource that has been publishfirstSibling
- if this is the first sibling to be publish
CmsDataAccessException
- if something goes wrongjava.util.List readChildResources(CmsDbContext dbc, CmsProject currentProject, CmsResource resource, boolean getFolders, boolean getFiles) throws CmsDataAccessException
dbc
- the current database contextcurrentProject
- the current projectresource
- the parent foldergetFolders
- if true the child folders of the parent folder are returned in the result setgetFiles
- if true the child files of the parent folder are returned in the result set
CmsDataAccessException
- if something goes wrongbyte[] readContent(CmsDbContext dbc, CmsUUID projectId, CmsUUID resourceId) throws CmsDataAccessException
dbc
- the current database contextprojectId
- the ID of the current projectresourceId
- the id of the resource
CmsDataAccessException
- if something goes wrongCmsFolder readFolder(CmsDbContext dbc, CmsUUID projectId, CmsUUID folderId) throws CmsDataAccessException
dbc
- the current database contextprojectId
- the project in which the resource will be usedfolderId
- the structure id of the folder to be read
CmsDataAccessException
- if something goes wrongCmsFolder readFolder(CmsDbContext dbc, CmsUUID projectId, java.lang.String foldername) throws CmsDataAccessException
dbc
- the current database contextprojectId
- the project in which the resource will be usedfoldername
- the name of the folder to be read
CmsDataAccessException
- if something goes wrongCmsFolder readParentFolder(CmsDbContext dbc, CmsUUID projectId, CmsUUID structureId) throws CmsDataAccessException
The parent folder for the root '/' is defined as null
.
dbc
- the current database contextprojectId
- the project in which the resource will be usedstructureId
- the id of the resource to read the parent folder for
null
CmsDataAccessException
- if something goes wrongCmsPropertyDefinition readPropertyDefinition(CmsDbContext dbc, java.lang.String name, CmsUUID projectId) throws CmsDataAccessException
If no property definition with the given name is found,
null
is returned.
dbc
- the current database contextname
- the name of the property definition to readprojectId
- the id of the project
CmsDataAccessException
- a CmsDbEntryNotFoundException is thrown if the property definition does not existjava.util.List readPropertyDefinitions(CmsDbContext dbc, CmsUUID projectId) throws CmsDataAccessException
dbc
- the current database contextprojectId
- the id of the project
CmsPropertyDefinition
objects (may be empty)
CmsDataAccessException
- if something goes wrongCmsProperty readPropertyObject(CmsDbContext dbc, java.lang.String key, CmsProject project, CmsResource resource) throws CmsDataAccessException
The implementation must return CmsProperty.getNullProperty()
if the property is not found.
TODO: change project parameter to project id
dbc
- the current database contextkey
- the key of the propertyproject
- the current projectresource
- the resource where the property is attached to
CmsDataAccessException
- if something goes wrongjava.util.List readPropertyObjects(CmsDbContext dbc, CmsProject project, CmsResource resource) throws CmsDataAccessException
The implementation must return an empty list if no properties are found at all.
TODO: change project parameter to project id
dbc
- the current database contextproject
- the current projectresource
- the resource where the property is attached to
CmsDataAccessException
- if something goes wrongjava.util.List readRelations(CmsDbContext dbc, CmsUUID projectId, CmsResource resource, CmsRelationFilter filter) throws CmsDataAccessException
dbc
- the current database contextprojectId
- the id of the project to execute the query inresource
- the resource to read the relations for, may be null
for allfilter
- the filter to restrict the relations to retrieve
CmsDataAccessException
- if something goes wrongCmsResource readResource(CmsDbContext dbc, CmsUUID projectId, CmsUUID structureId, boolean includeDeleted) throws CmsDataAccessException
dbc
- the current database contextprojectId
- the Id of the projectstructureId
- the Id of the resourceincludeDeleted
- true if already deleted files are included
CmsDataAccessException
- if something goes wrongCmsResource readResource(CmsDbContext dbc, CmsUUID projectId, java.lang.String filename, boolean includeDeleted) throws CmsDataAccessException
dbc
- the current database contextprojectId
- the Id of the project in which the resource will be usedfilename
- the name of the fileincludeDeleted
- true if already deleted files are included
CmsDataAccessException
- if something goes wrongjava.util.List readResources(CmsDbContext dbc, CmsUUID currentProject, CmsResourceState state, int mode) throws CmsDataAccessException
dbc
- the current database contextcurrentProject
- the current projectstate
- the state to matchmode
- flag signaling the read mode
CmsDataAccessException
- if something goes wrongjava.util.List readResourcesForPrincipalACE(CmsDbContext dbc, CmsProject project, CmsUUID principalId) throws CmsDataAccessException
dbc
- the current database contextproject
- the to read the entries fromprincipalId
- the id of the principal
CmsResource
objects
CmsDataAccessException
- if something goes wrongjava.util.List readResourcesForPrincipalAttr(CmsDbContext dbc, CmsProject project, CmsUUID principalId) throws CmsDataAccessException
dbc
- the current database contextproject
- the to read the entries fromprincipalId
- the id of the principal
CmsResource
objects
CmsDataAccessException
- if something goes wrongjava.util.List readResourcesWithProperty(CmsDbContext dbc, CmsUUID projectId, CmsUUID propertyDefinition, java.lang.String path, java.lang.String value) throws CmsDataAccessException
Both individual and shared properties of a resource are checked.
If the value
parameter is null
, all resources having the
given property set are returned.
dbc
- the current database contextprojectId
- the id of the projectpropertyDefinition
- the id of the property definitionpath
- the folder to get the resources with the property fromvalue
- the string to search in the value of the property
CmsResource
objects
that have a value set for the specified property.
CmsDataAccessException
- if something goes wrongjava.util.List readResourceTree(CmsDbContext dbc, CmsUUID projectId, java.lang.String parent, int type, CmsResourceState state, long startTime, long endTime, long releasedAfter, long releasedBefore, long expiredAfter, long expiredBefore, int mode) throws CmsDataAccessException
Important: If CmsDriverManager.READMODE_EXCLUDE_TREE
is true (or CmsDriverManager.READMODE_INCLUDE_TREE
is false),
the provided parent String must be the UUID of the parent folder, NOT the parent folder path.
dbc
- the current database contextprojectId
- the project id for matching resourcesparent
- the path to the resource used as root of the searched subtree or CmsDriverManager.READ_IGNORE_PARENT
,
CmsDriverManager.READMODE_EXCLUDE_TREE
means to read immediate children onlytype
- the resource type of matching resources or CmsDriverManager.READ_IGNORE_TYPE
(meaning inverted by CmsDriverManager.READMODE_EXCLUDE_TYPE
state
- the state of matching resources (meaning inverted by CmsDriverManager.READMODE_EXCLUDE_STATE
or null
to ignorestartTime
- the start of the time range for the last modification date of matching resources or READ_IGNORE_TIMEendTime
- the end of the time range for the last modification date of matching resources or READ_IGNORE_TIMEreleasedAfter
- the start of the time range for the release date of matching resourcesreleasedBefore
- the end of the time range for the release date of matching resourcesexpiredAfter
- the start of the time range for the expire date of matching resourcesexpiredBefore
- the end of the time range for the expire date of matching resourcesmode
- additional mode flags:
CmsDataAccessException
- if something goes wrongjava.util.List readSiblings(CmsDbContext dbc, CmsUUID projectId, CmsResource resource, boolean includeDeleted) throws CmsDataAccessException
dbc
- the current database contextprojectId
- the id of the current projectresource
- the specified resourceincludeDeleted
- true
if deleted siblings should be included in the result list
CmsResource
s that
are siblings to the specified resource,
including the specified resource itself.
CmsDataAccessException
- if something goes wrongjava.util.Map readVersions(CmsDbContext dbc, CmsUUID projectId, CmsUUID resourceId, CmsUUID structureId) throws CmsDataAccessException
dbc
- the current database contextprojectId
- the project to read the versions fromresourceId
- the resource id of the resource to read the versions fromstructureId
- the structure id of the resource to read the versions from
Integer
objects and may be -1
if an entry could be found
CmsDataAccessException
- if something goes wrongvoid removeFile(CmsDbContext dbc, CmsUUID projectId, CmsResource resource) throws CmsDataAccessException
dbc
- the current database contextprojectId
- the id of the current projectresource
- the resource
CmsDataAccessException
- if something goes wrongvoid removeFolder(CmsDbContext dbc, CmsProject currentProject, CmsResource resource) throws CmsDataAccessException
dbc
- the current database contextcurrentProject
- the current projectresource
- the folder
CmsDataAccessException
- if something goes wrongvoid replaceResource(CmsDbContext dbc, CmsResource newResource, byte[] newResourceContent, int newResourceType) throws CmsDataAccessException
dbc
- the current database contextnewResource
- the new resourcenewResourceContent
- the new contentnewResourceType
- the resource type
CmsDataAccessException
- if something goes wrongvoid transferResource(CmsDbContext dbc, CmsProject project, CmsResource resource, CmsUUID createdUser, CmsUUID lastModifiedUser) throws CmsDataAccessException
dbc
- the current database contextproject
- the current projectresource
- the resource to modifycreatedUser
- the id of the user to be set as the creator of the resourcelastModifiedUser
- the id of the user to be set as the last modificator of the resource
CmsDataAccessException
- if something goes wrongvoid updateRelations(CmsDbContext dbc, CmsProject onlineProject, CmsResource offlineResource) throws CmsDataAccessException
TODO: add offlineProject parameter
dbc
- the current database contextonlineProject
- the online projectofflineResource
- the resource to update the relations for
CmsDataAccessException
- is something goes wrongboolean validateResourceIdExists(CmsDbContext dbc, CmsUUID projectId, CmsUUID resourceId) throws CmsDataAccessException
dbc
- the current database contextprojectId
- the project idresourceId
- the resource id to test for
CmsDataAccessException
- if something goes wrongboolean validateStructureIdExists(CmsDbContext dbc, CmsUUID projectId, CmsUUID structureId) throws CmsDataAccessException
dbc
- the current database contextprojectId
- the ID of current projectstructureId
- the structure id
CmsDataAccessException
- if something goes wrongvoid writeContent(CmsDbContext dbc, CmsUUID resourceId, byte[] content) throws CmsDataAccessException
dbc
- the current database contextresourceId
- the id of the resource used to identify the content to updatecontent
- the new content of the file
CmsDataAccessException
- if something goes wrongvoid writeLastModifiedProjectId(CmsDbContext dbc, CmsProject project, CmsUUID projectId, CmsResource resource) throws CmsDataAccessException
dbc
- the current database contextproject
- the resource record is updated with the ID of this projectprojectId
- the project id to write into the resourceresource
- the resource that gets updated
CmsDataAccessException
- if something goes wrongvoid writePropertyObject(CmsDbContext dbc, CmsProject project, CmsResource resource, CmsProperty property) throws CmsDataAccessException
dbc
- the current database contextproject
- the current projectresource
- the resource where the property should be attached toproperty
- a CmsProperty object containing both the structure and resource value of the property
CmsDataAccessException
- if something goes wrongvoid writePropertyObjects(CmsDbContext dbc, CmsProject project, CmsResource resource, java.util.List properties) throws CmsDataAccessException
dbc
- the current database contextproject
- the current projectresource
- the resource where the property should be attached toproperties
- a list of CmsProperty objects
CmsDataAccessException
- if something goes wrongvoid writeResource(CmsDbContext dbc, CmsUUID projectId, CmsResource resource, int changed) throws CmsDataAccessException
Common usages of this method are saving the resource information
after creating, importing or restoring complete files
where all file header attributes are changed. Both the structure and resource
records get written. Thus, using this method affects all siblings of
a resource! Use writeResourceState(CmsDbContext, CmsProject, CmsResource, int, boolean)
instead if you just want to update the file state, e.g. of a single sibling.
The file state is set to "changed", unless the current state is "new" or "deleted". The "changed" argument allows to choose whether the structure or resource state, or none of them, is set to "changed".
The rating of the file state values is as follows:
unchanged < changed < new < deleted
Second, the "state" of the resource is the structure state, if the structure state has a higher file state value than the resource state. Otherwise the file state is the resource state.
dbc
- the current database contextprojectId
- the id of the current projectresource
- the resource to be updatedchanged
- determines whether the structure or resource state, or none of them, is set to "changed"
CmsDataAccessException
- if something goes wrongCmsDriverManager.UPDATE_RESOURCE_STATE
,
CmsDriverManager.UPDATE_STRUCTURE_STATE
,
CmsDriverManager.NOTHING_CHANGED
,
writeResourceState(CmsDbContext, CmsProject, CmsResource, int, boolean)
void writeResourceState(CmsDbContext dbc, CmsProject project, CmsResource resource, int changed, boolean isPublishing) throws CmsDataAccessException
This method allows to change the resource state to any state by setting the desired state value in the specified CmsResource instance.
This method is frequently used while resources are published to set the file state back to "unchanged".
Only file state attributes. get updated here. Use writeResource(CmsDbContext, CmsUUID, CmsResource, int)
instead to write the complete file header.
Please refer to the javadoc of writeResource(CmsDbContext, CmsUUID, CmsResource, int)
to read
how setting resource state values affects the file state.
dbc
- the current database contextproject
- the current projectresource
- the resource to be updatedchanged
- determines whether the structure or resource state, or none of them, is set to "changed"isPublishing
- if this method is called during publishing to version numbers are updated
CmsDataAccessException
- if something goes wrongCmsDriverManager.UPDATE_RESOURCE_STATE
,
CmsDriverManager.UPDATE_STRUCTURE_STATE
,
CmsDriverManager.UPDATE_ALL
|
||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |