@ThreadSafe public class RecordingChanges extends Object implements Changes, ChangeSet
Changes implementation that records the changes and makes them available for iteration.| Constructor and Description |
|---|
RecordingChanges(String sessionId,
String processKey,
String repositoryKey,
String workspaceName,
String journalId)
Creates a new change set.
|
| Modifier and Type | Method and Description |
|---|---|
void |
binaryValueNoLongerUsed(BinaryKey key)
Signal that the binary with the given key is not longer used by any properties.
|
void |
binaryValueUsed(BinaryKey key)
Signal that the binary with the given key is being used by some properties.
|
Set<NodeKey> |
changedNodes()
Returns the set of keys for the nodes which has been changed.
|
void |
freeze(String userId,
Map<String,String> userData,
DateTime timestamp)
Marks this change set as frozen (aka. closed).
|
String |
getJournalId()
Returns the identifier of the local
ChangeJournal instance. |
String |
getProcessKey()
Get the key of the process in which the changes were made.
|
String |
getRepositoryKey()
Get the key of the repository in which the changes were made.
|
String |
getSessionId()
Returns the ID of the session in which the changes occurred.
|
DateTime |
getTimestamp()
Returns the time at which the change set was created.
|
Map<String,String> |
getUserData()
Returns a set of (key,value) pairs which may contain additional user information.
|
String |
getUserId()
Returns the ID (username) of the user which performed the changes.
|
String |
getUUID()
Returns a unique identifier for this change set.
|
String |
getWorkspaceName()
Get the name of the workspace in which the changes were made.
|
boolean |
hasBinaryChanges()
Checks if there are any binary changes in this change set.
|
boolean |
isEmpty()
Checks if this set has any changes.
|
Iterator<Change> |
iterator()
Returns an iterator over the elements in this queue in proper sequence.
|
void |
nodeChanged(NodeKey key,
Path path,
Name primaryType,
Set<Name> mixinTypes,
boolean queryable)
Create an event signifying that something about the node (other than the properties or location) changed.
|
void |
nodeCreated(NodeKey key,
NodeKey parentKey,
Path path,
Name primaryType,
Set<Name> mixinTypes,
Map<Name,Property> properties,
boolean queryable)
Signal that a new node was created.
|
void |
nodeMoved(NodeKey key,
Name primaryType,
Set<Name> mixinTypes,
NodeKey newParent,
NodeKey oldParent,
Path newPath,
Path oldPath,
boolean queryable)
Signal that a node was moved from one parent to another, and may have also been renamed.
|
void |
nodeRemoved(NodeKey key,
NodeKey parentKey,
Path path,
Name primaryType,
Set<Name> mixinTypes,
boolean queryable)
Signal that a node was removed.
|
void |
nodeRenamed(NodeKey key,
Path newPath,
Path.Segment oldName,
Name primaryType,
Set<Name> mixinTypes,
boolean queryable)
Signal that a node was renamed (but still has the same parent)
|
void |
nodeReordered(NodeKey key,
Name primaryType,
Set<Name> mixinTypes,
NodeKey parent,
Path newPath,
Path oldPath,
Path reorderedBeforePath,
boolean queryable)
Signal that a node was placed into a new location within the same parent.
|
void |
nodeSequenced(NodeKey sequencedNodeKey,
Path sequencedNodePath,
Name sequencedNodePrimaryType,
Set<Name> sequencedNodeMixinTypes,
NodeKey outputNodeKey,
Path outputNodePath,
String outputPath,
String userId,
String selectedPath,
String sequencerName,
boolean queryable)
Signal that a node was successfully sequenced.
|
void |
nodeSequencingFailure(NodeKey sequencedNodeKey,
Path sequencedNodePath,
Name sequencedNodePrimaryType,
Set<Name> sequencedNodeMixinTypes,
String outputPath,
String userId,
String selectedPath,
String sequencerName,
boolean queryable,
Throwable cause)
Signal that a node was not sequenced successfully.
|
void |
propertyAdded(NodeKey key,
Name nodePrimaryType,
Set<Name> nodeMixinTypes,
Path nodePath,
Property property,
boolean queryable)
Signal that a property was added to a node.
|
void |
propertyChanged(NodeKey key,
Name nodePrimaryType,
Set<Name> nodeMixinTypes,
Path nodePath,
Property newProperty,
Property oldProperty,
boolean queryable)
Signal that a property was changed on a node.
|
void |
propertyRemoved(NodeKey key,
Name nodePrimaryType,
Set<Name> nodeMixinTypes,
Path nodePath,
Property property,
boolean queryable)
Signal that a property was removed from a node.
|
void |
repositoryMetadataChanged()
Signal that the repository metadata has changed.
|
void |
setChangedNodes(Set<NodeKey> keys)
Sets the list of node keys involved in this change set.
|
int |
size()
Return the number of individual changes.
|
String |
toString() |
Set<BinaryKey> |
unusedBinaries()
Returns the set of binary keys for those binary values which have become unused.
|
Set<BinaryKey> |
usedBinaries()
Returns the set of binary keys for those binary values which are being used.
|
void |
workspaceAdded(String workspaceName)
Signal that a new workspace has been added.
|
void |
workspaceRemoved(String workspaceName)
Signal that a new workspace has been removed.
|
public RecordingChanges(String sessionId, String processKey, String repositoryKey, String workspaceName, String journalId)
sessionId - the ID of the session in which the change set was created; may not be null;processKey - the UUID of the process which created the change set; may not be nullrepositoryKey - the key of the repository for which the changes set is created; may not be null.workspaceName - the name of the workspace in which the changes occurred; may be null.journalId - the ID of the journal where this change set will be saved; may be nullpublic void workspaceAdded(String workspaceName)
ChangesworkspaceAdded in interface ChangesworkspaceName - the name of the workspace; may not be nullpublic void workspaceRemoved(String workspaceName)
ChangesworkspaceRemoved in interface ChangesworkspaceName - the name of the workspace; may not be nullpublic void repositoryMetadataChanged()
ChangesrepositoryMetadataChanged in interface Changespublic void nodeCreated(NodeKey key, NodeKey parentKey, Path path, Name primaryType, Set<Name> mixinTypes, Map<Name,Property> properties, boolean queryable)
ChangesnodeCreated in interface Changeskey - the key for the new node; may not be nullparentKey - the key for the parent of the new node; may not be nullpath - the path to the new node; may not be nullprimaryType - the primary type of the node; may not be nullmixinTypes - the mixin types of the node; may not be nullproperties - the properties in the new node, or null if there are nonequeryable - true if this node is queryable, or false otherwisepublic void nodeRemoved(NodeKey key, NodeKey parentKey, Path path, Name primaryType, Set<Name> mixinTypes, boolean queryable)
ChangesnodeRemoved in interface Changeskey - the key for the removed node; may not be nullparentKey - the key for the old parent of the removed node; may not be nullpath - the path to the removed node; may not be nullprimaryType - the primary type of the node; may not be nullmixinTypes - the mixin types of the node; may not be nullqueryable - true if this node is queryable, or false otherwisepublic void nodeRenamed(NodeKey key, Path newPath, Path.Segment oldName, Name primaryType, Set<Name> mixinTypes, boolean queryable)
ChangesnodeRenamed in interface Changeskey - the key for the node; may not be nullnewPath - the new path for the node; may not be nulloldName - the old name (including SNS index); may not be nullprimaryType - the primary type of the node; may not be nullmixinTypes - the mixin types of the node; may not be nullqueryable - true if this node is queryable, or false otherwisepublic void nodeMoved(NodeKey key, Name primaryType, Set<Name> mixinTypes, NodeKey newParent, NodeKey oldParent, Path newPath, Path oldPath, boolean queryable)
ChangesnodeMoved in interface Changeskey - the key for the node; may not be nullprimaryType - the primary type of the node; may not be nullmixinTypes - the mixin types of the node; may not be nullnewParent - the new parent for the node; may not be nulloldParent - the old parent for the node; may not be nullnewPath - the new path for the node after it has been moved; may not be nulloldPath - the old path for the node before it was moved; may not be nullqueryable - true if this node is queryable, or false otherwisepublic void nodeReordered(NodeKey key, Name primaryType, Set<Name> mixinTypes, NodeKey parent, Path newPath, Path oldPath, Path reorderedBeforePath, boolean queryable)
ChangesnodeReordered in interface Changeskey - the key for the node; may not be nullprimaryType - the primary type of the node; may not be nullmixinTypes - the mixin types of the node; may not be nullparent - the key for the parent of the node; may not be nullnewPath - the new path for the node after it has been reordered; may not be nulloldPath - the old path for the node before it was reordered; may be null in the case of transient reorderingsreorderedBeforePath - the path of the node before which the node was moved; or null if the node was reordered to thequeryable - true if this node is queryable, or false otherwisepublic void nodeChanged(NodeKey key, Path path, Name primaryType, Set<Name> mixinTypes, boolean queryable)
ChangesnodeChanged in interface Changeskey - the node key; may not be nullpath - the pathprimaryType - the primary type of the node; may not be nullmixinTypes - the mixin types of the node; may not be nullqueryable - true if this node is queryable, or false otherwisepublic void nodeSequenced(NodeKey sequencedNodeKey, Path sequencedNodePath, Name sequencedNodePrimaryType, Set<Name> sequencedNodeMixinTypes, NodeKey outputNodeKey, Path outputNodePath, String outputPath, String userId, String selectedPath, String sequencerName, boolean queryable)
ChangesnodeSequenced in interface ChangessequencedNodeKey - the key of the node that was used as input and sequenced; may not be nullsequencedNodePath - the path of the node that was used as input and sequenced; may not be nullsequencedNodePrimaryType - the primary type of the node that was used as input and sequenced; may not be nullsequencedNodeMixinTypes - the mixin types of the node that was used as input and sequenced; may not be nulloutputNodeKey - the key of the top-level node output by the sequencing operation; may not be nulloutputNodePath - the path of the top-level node output by the sequencing operation; may not be nulloutputPath - the string representation of the output path of the sequencing operationuserId - the username of the session that generated the change that led to the sequencing operationselectedPath - the string representation of the path that led to the sequencing operation (which may or may not be the
same as the sequenced node path); may not be nullsequencerName - the name of the sequencer; may not be nullqueryable - true if this node is queryable, or false otherwisepublic void nodeSequencingFailure(NodeKey sequencedNodeKey, Path sequencedNodePath, Name sequencedNodePrimaryType, Set<Name> sequencedNodeMixinTypes, String outputPath, String userId, String selectedPath, String sequencerName, boolean queryable, Throwable cause)
ChangesnodeSequencingFailure in interface ChangessequencedNodeKey - the key of the node that was used as input and sequenced; may not be nullsequencedNodePath - the path of the node that was used as input and sequenced; may not be nullsequencedNodePrimaryType - the primary type of the node that was used as input and sequenced; may not be nullsequencedNodeMixinTypes - the mixin types of the node that was used as input and sequenced; may not be nulloutputPath - the string representation of the output path of the sequencing operationuserId - the username of the session that generated the change that led to the (failed) sequencing operationselectedPath - the string representation of the path that led to the (failed) sequencing operation (which may or may
not be the same as the sequenced node path); may not be nullsequencerName - the name of the sequencer; may not be nullqueryable - true if this node is queryable, or false otherwisecause - the exception that caused the failure; may not be nullpublic void propertyAdded(NodeKey key, Name nodePrimaryType, Set<Name> nodeMixinTypes, Path nodePath, Property property, boolean queryable)
ChangespropertyAdded in interface Changeskey - the key of the node that was changed; may not be nullnodePrimaryType - the primary type of the node; may not be nullnodeMixinTypes - the mixin types of the node; may not be nullnodePath - the path of the node that was changedproperty - the new property, with name and value(s); may not be nullqueryable - true if this node is queryable, or false otherwisepublic void propertyRemoved(NodeKey key, Name nodePrimaryType, Set<Name> nodeMixinTypes, Path nodePath, Property property, boolean queryable)
ChangespropertyRemoved in interface Changeskey - the key of the node that was changed; may not be nullnodePrimaryType - the primary type of the node; may not be nullnodeMixinTypes - the mixin types of the node; may not be nullnodePath - the path of the node that was changedproperty - the property that was removed, with name and value(s); may not be nullqueryable - true if this node is queryable, or false otherwisepublic void propertyChanged(NodeKey key, Name nodePrimaryType, Set<Name> nodeMixinTypes, Path nodePath, Property newProperty, Property oldProperty, boolean queryable)
ChangespropertyChanged in interface Changeskey - the key of the node that was changed; may not be nullnodePrimaryType - the primary type of the node; may not be nullnodeMixinTypes - the mixin types of the node; may not be nullnodePath - the path of the node that was changednewProperty - the new property, with name and value(s); may not be nulloldProperty - the old property, with name and value(s); may not be nullqueryable - true if this node is queryable, or false otherwisepublic void binaryValueNoLongerUsed(BinaryKey key)
ChangesbinaryValueNoLongerUsed in interface Changeskey - a BinaryKey instance; never nullpublic void binaryValueUsed(BinaryKey key)
ChangesbinaryValueUsed in interface Changeskey - a BinaryKey instance; never nullpublic int size()
ChangeSetpublic boolean isEmpty()
ChangeSetpublic Iterator<Change> iterator()
ConcurrentModificationException, and guarantees to traverse elements as they existed
upon construction of the iterator, and may (but is not guaranteed to) reflect any modifications subsequent to construction.iterator in interface Iterable<Change>Iterable.iterator()public Set<NodeKey> changedNodes()
ChangeSetchangedNodes in interface ChangeSetnullpublic Set<BinaryKey> unusedBinaries()
ChangeSetunusedBinaries in interface ChangeSetpublic Set<BinaryKey> usedBinaries()
ChangeSetusedBinaries in interface ChangeSetpublic boolean hasBinaryChanges()
ChangeSethasBinaryChanges in interface ChangeSetpublic void setChangedNodes(Set<NodeKey> keys)
keys - a Setpublic void freeze(String userId, Map<String,String> userData, DateTime timestamp)
userId - the username from the session which originated the changes; may not be nulluserData - a Map which can contains arbitrary information; may be nulltimestamp - a DateTime at which the changes set was created.public String getProcessKey()
ChangeSetgetProcessKey in interface ChangeSetpublic String getRepositoryKey()
ChangeSetgetRepositoryKey in interface ChangeSetpublic String getWorkspaceName()
ChangeSetgetWorkspaceName in interface ChangeSetpublic DateTime getTimestamp()
ChangeSetgetTimestamp in interface ChangeSetDateTime instance; never nullpublic Map<String,String> getUserData()
ChangeSetgetUserData in interface ChangeSetMap of additional information; never null but possibly empty.public String getUserId()
ChangeSetpublic String getSessionId()
ChangeSetgetSessionId in interface ChangeSetnullpublic String getJournalId()
ChangeSetChangeJournal instance.getJournalId in interface ChangeSetString if journaling is enabled, or null if journaling isn't enabled.public String getUUID()
ChangeSetCopyright © 2008-2014 JBoss, a division of Red Hat. All Rights Reserved.