Determining changes to a revision
Via the revisions, in connection with the metadata, additional information on the changes can be retrieved:
revision.getMetaData();
The metadata administers different information which is dependent on the type of the changes respectively. In the process, language-dependent content changes to an element are taken into account as well as structural changes (such as a move) or a change to the element attributes (such as name, permission definition, etc.).
Determining the type of change
The changes that have taken place in a revision can be retrieved via:
metaData.getOperation();
The provided revision operation (RevisionOperation) provides information on the type of change (RevisionOperation.OperationType), for example:
operation.getType();
In this context, different types of changes are available for different project contents.
For contents of type IDProvider, the following types of changes are possible:
- CREATE an object has been newly created in the project
- MODIFY An object has been modified in the project
- MOVE An object has been moved in the project
- DELETE An object has been deleted in the project
- RELEASE An object has been released in the project
- SERVER_RELEASE An object has been released on the server
The corresponding revision operation (for example, ModifyOperation) provides an object of type BasicElementInfo with additional information on the respective object (for example, the UniqueIdentifier).
For contents of type Entity, the following types of changes are possible:
- CONTENT_COMMIT Database contents have been modified
The corresponding revision operation (for example, ContentOperation) returns an object of type EntityInfo with additional information on the respective data records (for example, the ID of the data record or the ID of the associated database schema).
Determining changed elements
Depending on the respective change operation, additional information on changes can be called up, such as which data records have been released in the project (for operation type: CONTENT_COMMIT):
operation.getReleasedEntities();
or, for example, which contents have been newly created in the project (for operation type: CREATE):
operation.getCreatedElement()
Additional methods are in the examples for tracking changes.
For an overview of all available methods, see documentation on the FirstSpirit Access-API.