Interface ExecutableComponentDescriptionManager
-
public interface ExecutableComponentDescriptionManager
This interface provides the means for managingExecutableComponentDescription
s which includes retrieval, creation, updating and managing the states ofExecutableComponentDescription
s. Executable component descriptions are identified by their name which is therefore system-wide unique.If the provided entity (or its identifying attributes) of a method does not exist, an
UnknownEntityException
will be thrown.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description ExecutableComponentDescription
getDevelopmentECD(SessionToken session, String ecName, long branch)
Gets the (full-fledged object representing the) development version of the designated executable component description in the designated branch.Collection<ECDReference>
getDevelopmentECDReferences(SessionToken session, long branch)
Gets lightweight objects representing the development versions of all executable component descriptions in the designated branch known by this manager.RemoteIterator<List<ECDReference>>
getDevelopmentECDReferencesIterator(SessionToken session, long branch)
The same asgetDevelopmentECDReferences(SessionToken, long)
but with partial retrieval of the references.List<ECDReference>
getECDReferenceRevisions(SessionToken session, String ecName)
Gets lightweight objects representing all revisions of the designated executable component description or an empty list in case there are no revisions yet.RemoteIterator<List<ECDReference>>
getECDReferenceRevisionsIterator(SessionToken session, String ecName)
The same asgetECDReferenceRevisions(SessionToken, String)
but with partial retrieval of the references.Collection<ECDReference>
getECDReferencesRevision(SessionToken session, long revision)
Gets lightweight objects representing all executable component descriptions of the designated revision known by this manager.RemoteIterator<List<ECDReference>>
getECDReferencesRevisionIterator(SessionToken session, long revision)
The same asgetECDReferencesRevision(SessionToken, long)
but with partial retrieval of the references.ExecutableComponentDescription
getECDRevision(SessionToken session, String ecName, long revision)
Gets the (full-fledged object representing the) designated revision of the designated executable component description.ExecutableComponentDescription
getLatestECD(SessionToken session, String ecName)
Gets the (full-fledged object representing the) latest revision of the designated executable component description.ECDReference
getLatestECDReference(SessionToken session, String ecName)
Gets a lightweight object representing the latest revision of the designated executable component description.Collection<ECDReference>
getLatestECDReferences(SessionToken session, boolean productionOnly)
Gets lightweight objects representing the latest revisions (IN_PRODUCTION
and/orOUTDATED
) of all executable component descriptions known by this manager.RemoteIterator<List<ECDReference>>
getLatestECDReferencesIterator(SessionToken session, boolean productionOnly)
The same asgetLatestECDReferences(SessionToken, boolean)
but with partial retrieval of the references.void
outdateECD(SessionToken session, String ecName)
Outdates the latest revision of the designated executable component description explicitly which prevents its usage afterwards.void
revertDevelopmentECD(SessionToken session, String ecName, long branch)
Reverts the designated development executable component description in the designated branch that is all changes will be undone and the executable component description will logically be the same as the base revision of the branch.CheckReport
simulateUpdateOfDevelopmentECD(SessionToken session, String ecName, long branch)
Simulates updating of the designated executable component description in the designated branch, that is only the designated executable component description of the branch is checked for whether it can be updated to the latest revision.void
storeDevelopmentECD(SessionToken session, StorageExecutableComponentDescription ecd, long branch)
Stores the designated (storage representation of the) executable component description in the designated branch and sets itIN_DEVELOPMENT
if not done yet.
-
-
-
Method Detail
-
getLatestECDReferences
Collection<ECDReference> getLatestECDReferences(SessionToken session, boolean productionOnly)
Gets lightweight objects representing the latest revisions (IN_PRODUCTION
and/orOUTDATED
) of all executable component descriptions known by this manager.- Parameters:
session
- The session which is used to check for access rights on this method.productionOnly
- Whether only the revisionsIN_PRODUCTCION
should be retrieved.- Returns:
- Lightweight representations of the latest revisions of all
executable component descriptions
IN_PRODUCTION
and/orOUTDATED
known by this manager.
-
getLatestECDReferencesIterator
RemoteIterator<List<ECDReference>> getLatestECDReferencesIterator(SessionToken session, boolean productionOnly)
The same asgetLatestECDReferences(SessionToken, boolean)
but with partial retrieval of the references.- Parameters:
session
- The session which is used to check for access rights on this method.productionOnly
- Whether only the revisionsIN_PRODUCTCION
should be retrieved. The caller is responsible for closing.- Returns:
- Lightweight representations of the latest revisions of all executable component
descriptions
IN_PRODUCTION
and/orOUTDATED
known by this manager as iterator.
-
getECDReferencesRevision
Collection<ECDReference> getECDReferencesRevision(SessionToken session, long revision)
Gets lightweight objects representing all executable component descriptions of the designated revision known by this manager. These are eitherIN_PRODUCTION
orOUTDATED
depending on whether they have been changed or set to outdated from the designated to the latest revision.- Parameters:
session
- The session which is used to check for access rights on this method.revision
- The revision of which to retrieve all executable component descriptions known by this manager.- Returns:
- Lightweight representations of all executable component descriptions of the designated revision known by this manager.
-
getECDReferencesRevisionIterator
RemoteIterator<List<ECDReference>> getECDReferencesRevisionIterator(SessionToken session, long revision)
The same asgetECDReferencesRevision(SessionToken, long)
but with partial retrieval of the references.- Parameters:
session
- The session which is used to check for access rights on this method.revision
- The revision of which to retrieve all executable component descriptions known by this manager.- Returns:
- Lightweight representations of all executable component descriptions of the designated revision known by this manager as iterator. The caller is responsible for closing.
-
getLatestECDReference
ECDReference getLatestECDReference(SessionToken session, String ecName)
Gets a lightweight object representing the latest revision of the designated executable component description.- Parameters:
session
- The session which is used to check for access rights on this method.ecName
- The name of the executable component description of which to retrieve a lightweight representation.- Returns:
- A lightweight representation of the latest revision of the executable component description having the designated name.
- Throws:
UnknownEntityException
- If the designated executable component description does not exist, anUnknownEntityException
will be thrown.
-
getECDReferenceRevisions
List<ECDReference> getECDReferenceRevisions(SessionToken session, String ecName)
Gets lightweight objects representing all revisions of the designated executable component description or an empty list in case there are no revisions yet.- Parameters:
session
- The session which is used to check for access rights on this method.ecName
- The name of the executable component description of which to retrieve all revisions as lightweight representation.- Returns:
- Lightweight representation of all revisions of the executable component description having the designated name.
- Throws:
UnknownEntityException
- If the designated executable component description does not exist, anUnknownEntityException
will be thrown.
-
getECDReferenceRevisionsIterator
RemoteIterator<List<ECDReference>> getECDReferenceRevisionsIterator(SessionToken session, String ecName)
The same asgetECDReferenceRevisions(SessionToken, String)
but with partial retrieval of the references.- Parameters:
session
- The session which is used to check for access rights on this method.ecName
- The name of the executable component description of which to retrieve all revisions as lightweight representation.- Returns:
- Lightweight representation of all revisions of the executable component description having the designated name as iterator. The caller is responsible for closing.
- Throws:
UnknownEntityException
- If the designated executable component description does not exist, anUnknownEntityException
will be thrown.
-
getLatestECD
ExecutableComponentDescription getLatestECD(SessionToken session, String ecName)
Gets the (full-fledged object representing the) latest revision of the designated executable component description.- Parameters:
session
- The session which is used to check for access rights on this method.ecName
- The name of the executable component description of which to retrieve the latest revision.- Returns:
- The latest revision of the executable component description having the designated name.
- Throws:
UnknownEntityException
- If the designated executable component description does not exist, anUnknownEntityException
will be thrown.
-
getECDRevision
ExecutableComponentDescription getECDRevision(SessionToken session, String ecName, long revision)
Gets the (full-fledged object representing the) designated revision of the designated executable component description.- Parameters:
session
- The session which is used to check for access rights on this method.ecName
- The name of the executable component description of which to retrieve a specific revision.revision
- The revision of the executable component description which to retrieve.- Returns:
- The designated revision of the executable component description having the designated name.
- Throws:
UnknownEntityException
- If the designated executable component description or the revision does not exist, anUnknownEntityException
will be thrown.
-
getDevelopmentECDReferences
Collection<ECDReference> getDevelopmentECDReferences(SessionToken session, long branch)
Gets lightweight objects representing the development versions of all executable component descriptions in the designated branch known by this manager. The development versions stem from the base revision of the designated branch, that is, unchanged entities are copies of the corresponding base revisions while changed entities are modified with respect to the base revision. Therefore the returned (referenced) entities may beIN_DEVELOPMENT
(changed entities),IN_PRODUCTION
(unchanged entities whereas the base revision is the latest revision) orOUTDATED
(unchanged entities).- Parameters:
session
- The session which is used to check for access rights on this method.branch
- The branch of which to retrieve lightweight objects for the executable component descriptions.- Returns:
- Lightweight representations of the development versions of all executable component descriptions in the designated branch (changed or unchanged entities) known by this manager.
- Throws:
UnknownEntityException
- If the designated branch is currently unused, anUnknownEntityException
will be thrown.
-
getDevelopmentECDReferencesIterator
RemoteIterator<List<ECDReference>> getDevelopmentECDReferencesIterator(SessionToken session, long branch)
The same asgetDevelopmentECDReferences(SessionToken, long)
but with partial retrieval of the references.- Parameters:
session
- The session which is used to check for access rights on this method.branch
- The branch of which to retrieve lightweight objects for the executable component descriptions.- Returns:
- Lightweight representations of the development versions of all executable component descriptions in the designated branch (changed or unchanged entities) known by this manager as iterator. The caller is responsible for closing.
- Throws:
UnknownEntityException
- If the designated branch is currently unused, anUnknownEntityException
will be thrown.
-
getDevelopmentECD
ExecutableComponentDescription getDevelopmentECD(SessionToken session, String ecName, long branch)
Gets the (full-fledged object representing the) development version of the designated executable component description in the designated branch. The returned entity will beIN_DEVELOPMENT
if it has already been changed with respect to its base revision. Otherwise the entity will a copy of the base revision of the branch and thereforeIN_PRODUCTION
(in case the base revision is the latest revision) orOUTDATED
(in case the base revision is already outdated). This copy will be setIN_DEVELOPMENT
as soon as it isstored
the first time.- Parameters:
session
- The session which is used to check for access rights on this method.ecName
- The name of the executable component description of which to retrieve the development version of the designated branch.branch
- The branch of which to retrieve the corresponding executable component description (or a new copy of the corresponding base revision entity in case it has not been changed before in this branch).- Returns:
- The development version of the executable component description in the designated branch.
- Throws:
UnknownEntityException
- If the designated executable component description does not exist or the designated branch is currently unused, anUnknownEntityException
will be thrown.
-
storeDevelopmentECD
void storeDevelopmentECD(SessionToken session, StorageExecutableComponentDescription ecd, long branch)
Stores the designated (storage representation of the) executable component description in the designated branch and sets itIN_DEVELOPMENT
if not done yet. All changes are therefore persisted. The branch is usually the same as specified whenretrieving
the executable component description for development. However, it can be changed but the content of the target branch will be overwritten. This can be used to copy changes between branches.
To store a new executable component description just set its primary key to a non-existing one and store it. If the key exists, the executable component description will be updated instead of added!When storing an executable component definition, the
IDs
of all correspondingActivityTemplateDefinition
s will be changed.- Parameters:
session
- The session which is used to check for access rights on this method and to identify the storing agent and the corresponding organisational position.ecd
- The executable component description providing the new attributes to be set. Executable component descriptions are identified by their name, therefore the name will not be able to be changed if there is at least one production revision.branch
- The branch in which to store the corresponding executable component description.- Throws:
UnknownEntityException
- If the designated branch is currently unused, anUnknownEntityException
will be thrown.
-
revertDevelopmentECD
void revertDevelopmentECD(SessionToken session, String ecName, long branch)
Reverts the designated development executable component description in the designated branch that is all changes will be undone and the executable component description will logically be the same as the base revision of the branch.- Parameters:
session
- The session which is used to check for access rights on this method.ecName
- The name of the executable component description of which to revert the development version in the designated branch.branch
- The branch in which to revert the designated executable component description and therefore undoing made changes.- Throws:
UnknownEntityException
- If the designated executable component description does not exist in the designated branch or does not exist at all or the designated branch is currently unused, anUnknownEntityException
will be thrown.
-
simulateUpdateOfDevelopmentECD
CheckReport simulateUpdateOfDevelopmentECD(SessionToken session, String ecName, long branch)
Simulates updating of the designated executable component description in the designated branch, that is only the designated executable component description of the branch is checked for whether it can be updated to the latest revision. The returned check report therefore contains all conflicts due to versioning. These occur for concurrent changes in the designated branch and changing the latest revision (by releasing a new one). If conflicts occur, checking only for one executable component description instead of checking the whole branch will provide a much simpler way to resolve these conflicts.
When checking an executable component description that does not have any changes in the designated branch, the check report will contain no entries, indicating that there will be no problems when updating.- Parameters:
session
- The session which is used to check for access rights on this method.ecName
- The name of the executable component description which to check for versioning conflicts due to updating to the latest revision.branch
- The branch in which to check the designated executable component description for versioning conflicts when updating.- Returns:
- A check report providing information on versioning on the designated executable component description only.
- Throws:
UnknownEntityException
- If the designated executable component description does not exist in the designated branch or does not exist at all, anUnknownEntityException
will be thrown.
-
outdateECD
void outdateECD(SessionToken session, String ecName)
Outdates the latest revision of the designated executable component description explicitly which prevents its usage afterwards. This state will indirectly outdate child entities. However, their state will not be changed explicitly, rather before using them the states of their parent entities have to be checked. The latest revision may be used for a development version which in turn may be released later.
Outdating anOUTDATED
executable component description will be ignored.- Parameters:
session
- The session which is used to check for access rights on this method and to identify the outdating agent and the corresponding organisational position.ecName
- The name of the executable component description of which to explicitly outdate the latest revision.- Throws:
UnknownEntityException
- If the designated executable component description does not exist, anUnknownEntityException
will be thrown.
-
-