public interface VersionManager
The purge returns only registry beans to be delete, however there are also repository objects to delete. So after the user commits the delete of purged objects he should call 'removeRepositoryResources()' which cleans up his repository.
Example 1: Version a package in DEEP mode (means version also the package members) RegistryPackage pkg = ... VersionManager vm = sessionContext.getVersionManager(); CollectionversionObjects = vm.createVersion( pkg, VersionCopyMode.DEEP ); beanPool.update(versionObjects); Example 2: Version a service in SHALLOW mode (but ignores its associated *.xsd files) Service service = ... VersionManager vm = sessionContext.getVersionManager(); Collection versionObjects = vm.createVersion( service, VersionCopyMode.SHALLOW, elinks ); Example 3: Purge all older versions of a service Service service = getMaxVersionOfService() VersionManager vm = sessionContext.getVersionManager(); Collection deleteObjects = vm.purge( service, 1 ); beanPool.delete(deleteObjects);
Modifier and Type | Method and Description |
---|---|
void |
addVersionObjectListener(VersionObjectListener versionObjectListener)
Add a object listener.
|
java.util.Collection<RegistryBean> |
copy(RegistryBean registryBean)
Copy the specified registry bean (RegistryEntry or RegistryBean).
|
java.util.Collection<RegistryBean> |
copy(RegistryBean registryBean,
VersionCopyMode copyMode)
Copy the specified registry bean (RegistryEntry or RegistryBean).
|
java.util.Collection<RegistryBean> |
copy(RegistryBean registryBean,
VersionCopyMode copyMode,
java.util.Collection<RegistryBean> ignoreCopyObjects)
Copy the specified registry bean (RegistryEntry or RegistryBean).
|
java.util.Collection<RegistryBean> |
createVersion(ExternalLink externalLinkObject)
Create a new version of an External Link.
|
java.util.Collection<RegistryBean> |
createVersion(ExternalLink externalLinkObject,
VersionCopyMode copyMode)
Create a new version of an External Link.
|
java.util.Collection<RegistryBean> |
createVersion(RegistryBean registryBean)
Creates a new version of a registry bean (RegistryEntry or
RegistryBean).
|
java.util.Collection<RegistryBean> |
createVersion(RegistryBean registryBean,
VersionCopyMode copyMode)
Create a new version of a registry bean (RegistryEntry or
RegistryBean).
|
java.util.Collection<RegistryBean> |
createVersion(RegistryBean registryBean,
VersionCopyMode copyMode,
java.util.Collection<RegistryBean> ignoreCopyObjects)
Create a new version of a registry bean (RegistryEntry or
RegistryBean).
|
java.util.Collection<RegistryBean> |
createVersion(Service serviceObject,
java.util.Collection<RegistryBean> ignoreCopyObjects)
Create a new version of a Service object.
|
java.util.Collection<RegistryBean> |
createVersion(Service serviceObject,
VersionCopyMode copyMode,
java.util.Collection<RegistryBean> ignoreCopyObjects)
Create a new version of a Service object.
|
VersionObjectListener |
createVersionObjectListener(InternationalString description,
java.lang.String userVersion)
Create a
VersionObjectListener . |
java.util.Collection<RegistryBean> |
getAllIgnoredObjects(java.util.Collection<RegistryBean> ignoredObjects)
Get the entire list of objects to be ignored.
|
int |
getMajorVersion(RegistryBean registryBean)
Returns the major version number of any registry bean.
|
RegistryBean |
getMaxVersionObject(RegistryBean regObj)
Get the maximum version object of an arbitrary given object in a
versioning row.
|
int |
getMinorVersion(RegistryBean registryBean)
Returns the minor version number of any registry object.
|
java.util.List<RegistryBean> |
getNewerVersionObjects(RegistryBean registryBean,
java.util.Collection<Classification> classifications)
Gets all older versioned objects based on the object given.
|
java.util.List<RegistryBean> |
getOlderVersionObjects(RegistryBean registryBean,
java.util.Collection<Classification> classifications)
Gets all older versioned objects based on the object given.
|
java.lang.String |
getUserVersion(RegistryBean registryBean)
Returns the user version of any registry bean.
|
java.util.Collection<RegistryBean> |
getVersionObjects(RegistryBean registryBean)
Get all versioned objects based on the object given.
|
boolean |
isMaxVersionObject(RegistryBean regObj)
Checks if the given object is the maximum (or only) version object.
|
void |
overwriteCopyRule(CopyRule copyRule)
Overwrite a default copy rule.
|
java.util.Collection<RegistryBean> |
purge(java.util.Collection<RegistryBean> registryBeans,
int keepCount)
Purge the list of registry beans with the same keep count.
|
java.util.Collection<RegistryBean> |
purge(RegistryBean registryBean)
Purge older version registry entries and keep only the actual one.
|
java.util.Collection<RegistryBean> |
purge(RegistryBean registryBean,
int keepCount)
Purge older version registry entries.
|
void |
removeRepositoryResources()
Remove repository resources collected during purge().
|
void |
removeVersionObjectListener(VersionObjectListener versionObjectListener)
Remove a object listener.
|
void |
setForceTargetPurge(boolean forceTargetPurge)
Indicates for the purge methods whether to delete objects although they
are target of associations.
|
java.util.Collection<RegistryBean> createVersion(RegistryBean registryBean) throws CSAppFrameworkException
registryBean
- a versionable (or non-versionable) RegistryBean
(version top level)Collection
of new version RegistryBean
objectsCSAppFrameworkException
- If an error occurs while creating a new versionjava.util.Collection<RegistryBean> createVersion(RegistryBean registryBean, VersionCopyMode copyMode) throws CSAppFrameworkException
registryBean
- a versionable (or non-versionable) RegistryBean
(version top level)copyMode
- the VersionCopyMode
(SHALLOW, DEEP, ...)Collection
of new version RegistryBean
objectsCSAppFrameworkException
- If an error occurs while creating a new versionjava.util.Collection<RegistryBean> createVersion(RegistryBean registryBean, VersionCopyMode copyMode, java.util.Collection<RegistryBean> ignoreCopyObjects) throws CSAppFrameworkException
registryBean
- a versionable (or non-versionable) RegistryBean
(version top level)copyMode
- the VersionCopyMode
(SHALLOW, DEEP, ...)ignoreCopyObjects
- Collection
of RegistryBean
objects which shouldn't get a new versionCollection
of new version RegistryBean
objectsCSAppFrameworkException
- If an error occurs while creating a new versionjava.util.Collection<RegistryBean> createVersion(Service serviceObject, java.util.Collection<RegistryBean> ignoreCopyObjects) throws CSAppFrameworkException
serviceObject
- a Service
object (version top level)ignoreCopyObjects
- Collection
of RegistryBean
objects which shouldn't get a new versionCollection
of new version RegistryBean
objectsCSAppFrameworkException
- If an error occurs while creating a new versionjava.util.Collection<RegistryBean> createVersion(Service serviceObject, VersionCopyMode copyMode, java.util.Collection<RegistryBean> ignoreCopyObjects) throws CSAppFrameworkException
serviceObject
- a Service
object (version top level)copyMode
- the VersionCopyMode
(SHALLOW, DEEP, ...)ignoreCopyObjects
- Collection
of RegistryBean
objects which shouldn't get a new versionCollection
of new version RegistryBean
objectsCSAppFrameworkException
- If an error occurs while creating a new versionjava.util.Collection<RegistryBean> createVersion(ExternalLink externalLinkObject) throws CSAppFrameworkException
externalLinkObject
- the ExternalLink
objectCollection
of new version RegistryBean
objectsCSAppFrameworkException
- If an error occurs while creating a new versionjava.util.Collection<RegistryBean> createVersion(ExternalLink externalLinkObject, VersionCopyMode copyMode) throws CSAppFrameworkException
externalLinkObject
- the ExternalLink
objectcopyMode
- the VersionCopyMode
(NONE, REMOVE, SHALLOW, DEEP)Collection
of new version RegistryBean
objectsCSAppFrameworkException
- If an error occurs while creating a new versionjava.util.Collection<RegistryBean> copy(RegistryBean registryBean) throws CSAppFrameworkException
registryBean
- RegistryBean
to copyCollection
of new version RegistryBean
objectsCSAppFrameworkException
- If an error occurs while creating a new versionjava.util.Collection<RegistryBean> copy(RegistryBean registryBean, VersionCopyMode copyMode) throws CSAppFrameworkException
registryBean
- The RegistryBean
to copycopyMode
- the VersionCopyMode
(SHALLOW, DEEP, ...)Collection
of new version RegistryBean
objectsCSAppFrameworkException
- If an error occurs while creating a new versionjava.util.Collection<RegistryBean> copy(RegistryBean registryBean, VersionCopyMode copyMode, java.util.Collection<RegistryBean> ignoreCopyObjects) throws CSAppFrameworkException
registryBean
- RegistryBean
to copycopyMode
- the VersionCopyMode
(SHALLOW, DEEP, ...)ignoreCopyObjects
- Collection
of RegistryBean
objects which shouldn't get a new versionCollection
of new version RegistryBean
objectsCSAppFrameworkException
- If an error occurs while creating a new versionvoid overwriteCopyRule(CopyRule copyRule)
copyRule
- the CopyRule
to be usedvoid addVersionObjectListener(VersionObjectListener versionObjectListener)
versionObjectListener
- the VersionObjectListener
to addvoid removeVersionObjectListener(VersionObjectListener versionObjectListener)
versionObjectListener
- the VersionObjectListener
to removejava.util.Collection<RegistryBean> purge(RegistryBean registryBean) throws CSAppFrameworkException
registryBean
- a RegistryBean
to be purgedCollection
of Keys of RegistryBean
objects to deleteCSAppFrameworkException
- If an error occurs while purgingjava.util.Collection<RegistryBean> purge(RegistryBean registryBean, int keepCount) throws CSAppFrameworkException
Examples: having object versions: v0 - v1 - v2 - v3 - v4 1.) purge(v4,1) : remove v0,v1,v2,v3 2.) purge(v2,1) : remove v0,v1 3.) purge(v3,2) : remove v0,v1 4.) purge(v3,-1) : remove v0 5.) purge(v4,0) : remove all
registryBean
- a RegistryBean
to be purgedkeepCount
- > 0 : number of version objects to keep; < 0 : number of old
object version to delete; 0 : delete all objectsCollection
of Keys of RegistryBean
objects to deleteCSAppFrameworkException
- If an error occurs while purgingjava.util.Collection<RegistryBean> purge(java.util.Collection<RegistryBean> registryBeans, int keepCount) throws CSAppFrameworkException
registryBeans
- Collection
of RegistryBean
s to be deletedkeepCount
- > 0 : number of version objects to keep; < 0 : number of old
object version to delete; 0 : delete all objectsCollection
of Keys of RegistryBean
objects to deleteCSAppFrameworkException
- If an error occurs while purgingvoid removeRepositoryResources()
java.util.Collection<RegistryBean> getVersionObjects(RegistryBean registryBean) throws CSAppFrameworkException
registryBean
- a RegistryBean
(any version)Collection
of all versioned RegistryBean
objectsCSAppFrameworkException
- If an error occurs while obtaining the versioned objectsjava.util.List<RegistryBean> getOlderVersionObjects(RegistryBean registryBean, java.util.Collection<Classification> classifications) throws CSAppFrameworkException
registryBean
- a (versioned) RegistryBean
objectclassifications
- Collection
of Classification
s; if not null
and not empty then
at least one of the classification must matchList
of all older versions sorted by version number descendingCSAppFrameworkException
- If an error occurs while obtaining the older version objectsjava.util.List<RegistryBean> getNewerVersionObjects(RegistryBean registryBean, java.util.Collection<Classification> classifications) throws CSAppFrameworkException
registryBean
- a (versioned) RegistryBean
objectclassifications
- Collection
of Classification
s; if not null
and not empty then
at least one of the classification must matchList
of all newer versions sorted by version number ascendingCSAppFrameworkException
- If an error occurs while obtaining the older version objectsRegistryBean getMaxVersionObject(RegistryBean regObj) throws CSAppFrameworkException
regObj
- any RegistryBean
in a versioning rowRegistryBean
object with the highest version regObj: if no versioning (or
already the highest one)CSAppFrameworkException
- If an error occurs while trying to get the maximum versioned objectboolean isMaxVersionObject(RegistryBean regObj) throws CSAppFrameworkException
regObj
- a RegistryBean
true
if regObj is the maximum (or only) version object and false
if it is an
intermediate version objectCSAppFrameworkException
- If an error occurs while performing the checkjava.util.Collection<RegistryBean> getAllIgnoredObjects(java.util.Collection<RegistryBean> ignoredObjects) throws CSAppFrameworkException
ignoredObjects
- Collection
of RegistryBean
objects to be ignoredCollection
of RegistryBean
to be ignored + evtl. moreCSAppFrameworkException
- If an error occurs in obtaining the ignored objectsvoid setForceTargetPurge(boolean forceTargetPurge)
forceTargetPurge
- If true
, delete objects no matter of target associations; If false
:
reject object delete (implicitly by JAXR) if they are target of associationsVersionObjectListener createVersionObjectListener(InternationalString description, java.lang.String userVersion) throws CSAppFrameworkException
VersionObjectListener
.description
- The InternationalString
descriptionuserVersion
- The user specified versionVersionObjectListener
created with the given valuesCSAppFrameworkException
- If an error occurs while creating the version object listenerint getMajorVersion(RegistryBean registryBean) throws CSAppFrameworkException
registryBean
- a RegistryBean
objectCSAppFrameworkException
- If an error occurs in getting the major versionint getMinorVersion(RegistryBean registryBean) throws CSAppFrameworkException
registryBean
- a RegistryBean
objectCSAppFrameworkException
- If an error occurs in getting the minor versionjava.lang.String getUserVersion(RegistryBean registryBean) throws CSAppFrameworkException
registryBean
- a RegistryBean
objectCSAppFrameworkException
- If an error occurs in obtaining the user version