Class InternalVersionManagerImpl
- java.lang.Object
-
- org.apache.jackrabbit.core.version.InternalVersionManagerImpl
-
- All Implemented Interfaces:
UpdateEventListener
,ItemStateListener
,InternalVersionManager
public class InternalVersionManagerImpl extends Object implements ItemStateListener, UpdateEventListener
This Class implements a VersionManager.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
InternalVersionManagerImpl.DynamicESCFactory
-
Field Summary
Fields Modifier and Type Field Description protected NodeId
activitiesId
protected NodeId
historiesId
protected NodeTypeRegistry
ntReg
Node type registry.protected LocalItemStateManager
stateMgr
State manager for the version storage.
-
Constructor Summary
Constructors Constructor Description InternalVersionManagerImpl(PersistenceManager pMgr, FileSystem fs, NodeTypeRegistry ntReg, DelegatingObservationDispatcher obsMgr, NodeId systemId, NodeId historiesId, NodeId activitiesId, ItemStateCacheFactory cacheFactory, ISMLocking ismLocking, NodeIdFactory nodeIdFactory)
Creates a new internal version manager
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description VersioningLock.ReadLock
acquireReadLock()
acquires the read lock on this version manager.protected VersioningLock.WriteLock
acquireWriteLock()
Acquires the write lock on this version manager.protected String
calculateCheckinVersionName(org.apache.jackrabbit.core.version.InternalVersionHistoryImpl history, NodeStateEx node, boolean simple)
Calculates the name of the new version that will be created by a checkin call.NodeId
canCheckout(NodeStateEx state, NodeId activityId)
invokes the checkout() on the persistent version manager.InternalVersion
checkin(Session session, NodeStateEx node, Calendar created)
invokes the checkin() on the persistent version manager and remaps the newly created version objects.protected InternalVersion
checkin(NodeStateEx node, Calendar created)
Creates a new version of the given node using the given version creation time.void
close()
Close this version manager.NodeId
createActivity(Session session, String title)
Creates a new activityprotected InternalVersionItem
createInternalVersionItem(NodeId id)
protected VersionItemStateManager
createItemStateManager(PersistenceManager pMgr, NodeId rootId, NodeTypeRegistry ntReg, ItemStateCacheFactory cacheFactory, ISMLocking ismLocking, NodeIdFactory nodeIdFactory)
Creates aVersionItemStateManager
or derivative.protected VersionHistoryInfo
createVersionHistory(Session session, NodeState node, NodeId copiedFrom)
Creates a new version history.void
externalUpdate(ChangeLog changes, List<EventState> events, long timestamp, String userData)
Handle an external update.protected NodeStateEx
getActivitiesRoot()
returns the activities root nodeInternalActivity
getActivity(NodeId id)
Returns the activity with the given idInternalBaseline
getBaseline(NodeId id)
Returns the baseline with the given idInternalVersionManagerImpl.DynamicESCFactory
getEscFactory()
Returns the event state collection factory.InternalVersion
getHeadVersionOfNode(NodeId id)
Returns the head version of the node with the given id.protected NodeStateEx
getHistoryRoot()
returns the version history root nodeprotected InternalVersionItem
getItem(NodeId id)
Returns the item with the given persistent id.protected static Name
getName(String name)
Utility method that returns the given string as a name in the default namespace.NodeIdFactory
getNodeIdFactory()
protected NodeStateEx
getNodeStateEx(NodeId parentNodeId)
Returns the node with the given persistent id.protected static NodeStateEx
getParentNode(NodeStateEx parent, String uuid, Name interNT)
Utility method that returns the parent node under which the version history of the identified versionable node is or will be stored.PersistenceManager
getPersistenceManager()
Return the persistence manager.protected SharedItemStateManager
getSharedStateMgr()
Returns the shared item state manager.InternalVersion
getVersion(NodeId id)
Returns the version with the given idVersionHistoryInfo
getVersionHistory(Session session, NodeState node, NodeId copiedFrom)
Returns information about the version history of the specified node.InternalVersionHistory
getVersionHistory(NodeId id)
Returns the version history with the given idVersionHistoryInfo
getVersionHistoryInfoForNode(NodeState node)
Returns information about the version history of the specified node ornull
when unavailable.InternalVersionHistory
getVersionHistoryOfNode(NodeId id)
Returns the version history for the versionable node with the given id.VirtualItemStateProvider
getVirtualItemStateProvider()
returns the virtual item state provider that exposes the internal versions as items.boolean
hasItem(NodeId id)
Return a flag indicating if the item specified exists.protected boolean
hasItemReferences(NodeId id)
Checks if there are item references (from outside the version storage) that reference the given node.protected InternalVersion
internalCheckin(org.apache.jackrabbit.core.version.InternalVersionHistoryImpl history, NodeStateEx node, boolean simple, Calendar created)
Checks in a nodeprotected void
internalRemoveActivity(org.apache.jackrabbit.core.version.InternalActivityImpl activity)
Removes the specified activityprotected void
internalRemoveVersion(org.apache.jackrabbit.core.version.InternalVersionHistoryImpl history, Name name)
Removes the specified version from the historyvoid
internalRemoveVersionHistory(org.apache.jackrabbit.core.version.InternalVersionHistoryImpl history)
Removes the specified history from the storageprotected void
itemDiscarded(InternalVersionItem item)
Invoked by the internal version item itself, when it's underlying persistence state was discarded.void
itemsUpdated(Collection<InternalVersionItem> items)
Invoked by some external source to indicate that some items in the versions tree were updated.void
removeActivity(Session session, NodeId nodeId)
Removes an activity and allvoid
removeVersion(Session session, InternalVersionHistory history, Name name)
Removes the specified version from the given version history.void
removeVersionHistory(Session session, InternalVersionHistory history)
Removes the specified version history from storage.void
setEventChannel(UpdateEventChannel eventChannel)
Set an event channel to inform about updates.InternalVersion
setVersionLabel(Session session, InternalVersionHistory history, Name version, Name label, boolean move)
Sets the versionlabel
to the givenversion
.protected InternalVersion
setVersionLabel(org.apache.jackrabbit.core.version.InternalVersionHistoryImpl history, Name version, Name label, boolean move)
Set version label on the specified version.void
stateCreated(ItemState created)
Called when anItemState
has successfully been created (i.e.void
stateDestroyed(ItemState destroyed)
Called when anItemState
has successfully been removed (i.e.void
stateDiscarded(ItemState discarded)
Called when anItemState
has been discarded (i.e.void
stateModified(ItemState modified)
Called when anItemState
has successfully been modified (i.e.protected void
versionCreated(InternalVersion version)
Invoked when a new internal item has been created.protected void
versionDestroyed(InternalVersion version)
Invoked when a new internal item has been destroyed.
-
-
-
Field Detail
-
stateMgr
protected LocalItemStateManager stateMgr
State manager for the version storage.
-
ntReg
protected final NodeTypeRegistry ntReg
Node type registry.
-
historiesId
protected final NodeId historiesId
-
activitiesId
protected final NodeId activitiesId
-
-
Constructor Detail
-
InternalVersionManagerImpl
public InternalVersionManagerImpl(PersistenceManager pMgr, FileSystem fs, NodeTypeRegistry ntReg, DelegatingObservationDispatcher obsMgr, NodeId systemId, NodeId historiesId, NodeId activitiesId, ItemStateCacheFactory cacheFactory, ISMLocking ismLocking, NodeIdFactory nodeIdFactory) throws RepositoryException
Creates a new internal version manager- Parameters:
pMgr
- underlying persistence managerfs
- workspace file systemntReg
- node type registryobsMgr
- observation managersystemId
- node id of the version storage parent (i.e. jcr:system)historiesId
- node id of the version storage (i.e. jcr:versionStorage)activitiesId
- node id of the activities storage (i.e. jcr:activities)cacheFactory
- item state cache factoryismLocking
- workspace item state locking- Throws:
RepositoryException
- if an error occurs
-
-
Method Detail
-
getVirtualItemStateProvider
public VirtualItemStateProvider getVirtualItemStateProvider()
returns the virtual item state provider that exposes the internal versions as items.- Specified by:
getVirtualItemStateProvider
in interfaceInternalVersionManager
- Returns:
- the virtual item state provider.
-
getPersistenceManager
public PersistenceManager getPersistenceManager()
Return the persistence manager.- Returns:
- the persistence manager
-
close
public void close() throws Exception
Close this version manager. After having closed a persistence manager, further operations on this object are treated as illegal and throw- Specified by:
close
in interfaceInternalVersionManager
- Throws:
Exception
- if an error occurs
-
getEscFactory
public InternalVersionManagerImpl.DynamicESCFactory getEscFactory()
Returns the event state collection factory.- Returns:
- the event state collection factory.
-
createVersionHistory
protected VersionHistoryInfo createVersionHistory(Session session, NodeState node, NodeId copiedFrom) throws RepositoryException
Creates a new version history. This action is needed either when creating a new 'mix:versionable' node or when adding the 'mix:versionable' mixin to a node.This method must not be synchronized since it could cause deadlocks with item-reading listeners in the observation thread.
- Parameters:
session
- repository sessionnode
- versionable node statecopiedFrom
- node id for the jcr:copiedFrom property- Returns:
- identifier of the new version history node
- Throws:
RepositoryException
- if an error occurs- See Also:
InternalVersionManager.getVersionHistory(Session, NodeState, NodeId)
-
createActivity
public NodeId createActivity(Session session, String title) throws RepositoryException
Creates a new activityThis method must not be synchronized since it could cause deadlocks with item-reading listeners in the observation thread.
- Specified by:
createActivity
in interfaceInternalVersionManager
- Parameters:
session
- the current sessiontitle
- title of the new activity- Returns:
- the nodeid of the new activity
- Throws:
RepositoryException
- if an error occurs
-
removeActivity
public void removeActivity(Session session, NodeId nodeId) throws RepositoryException
Removes an activity and allThis method must not be synchronized since it could cause deadlocks with item-reading listeners in the observation thread.
- Specified by:
removeActivity
in interfaceInternalVersionManager
- Parameters:
session
- the current sessionnodeId
- id of the activity to remove- Throws:
RepositoryException
- if an error occurs
-
hasItem
public boolean hasItem(NodeId id)
Return a flag indicating if the item specified exists. Subclass responsibility.- Parameters:
id
- the id of the item- Returns:
true
if the item exists;false
otherwise
-
getItem
protected InternalVersionItem getItem(NodeId id) throws RepositoryException
Returns the item with the given persistent id. Subclass responsibility.Please note, that the overridden method must acquire the readlock before reading the state manager.
- Parameters:
id
- the id of the item- Returns:
- version item
- Throws:
RepositoryException
- if an error occurs
-
canCheckout
public NodeId canCheckout(NodeStateEx state, NodeId activityId) throws RepositoryException
invokes the checkout() on the persistent version manager. this method currently does no modifications to the persistence and just checks if the checkout is valid in respect to a possible activity set on the session- Specified by:
canCheckout
in interfaceInternalVersionManager
- Parameters:
state
- node to checkoutactivityId
- node id if the current activity- Returns:
- the base version id
- Throws:
RepositoryException
- if an error occurs
-
checkin
public InternalVersion checkin(Session session, NodeStateEx node, Calendar created) throws RepositoryException
invokes the checkin() on the persistent version manager and remaps the newly created version objects.This method must not be synchronized since it could cause deadlocks with item-reading listeners in the observation thread.
- Specified by:
checkin
in interfaceInternalVersionManager
- Parameters:
session
- session that invokes the checkinnode
- node to checkincreated
- create time of the new version, ornull
for the current time- Returns:
- the newly created version
- Throws:
RepositoryException
- if an error occurs
-
removeVersion
public void removeVersion(Session session, InternalVersionHistory history, Name name) throws VersionException, RepositoryException
Removes the specified version from the given version history.This method must not be synchronized since it could cause deadlocks with item-reading listeners in the observation thread.
- Specified by:
removeVersion
in interfaceInternalVersionManager
- Parameters:
session
- the session that performs the removehistory
- version history to remove the version fromname
- name of the version- Throws:
RepositoryException
- if an error occursVersionException
-
removeVersionHistory
public void removeVersionHistory(Session session, InternalVersionHistory history) throws RepositoryException
Removes the specified version history from storage.This method must not be synchronized since it could cause deadlocks with item-reading listeners in the observation thread.
- Specified by:
removeVersionHistory
in interfaceInternalVersionManager
- Parameters:
session
- the session that performs the removehistory
- the version history to remove- Throws:
RepositoryException
- if an error occurs
-
setVersionLabel
public InternalVersion setVersionLabel(Session session, InternalVersionHistory history, Name version, Name label, boolean move) throws RepositoryException
Sets the versionlabel
to the givenversion
. If the label is already assigned to another version, a VersionException is thrown unlessmove
istrue
. Ifversion
isnull
, the label is removed from the respective version. In either case, the version the label was previously assigned is returned, ornull
of the label was not moved.This method must not be synchronized since it could cause deadlocks with item-reading listeners in the observation thread.
- Specified by:
setVersionLabel
in interfaceInternalVersionManager
- Parameters:
session
- the session that performs the operationhistory
- version historyversion
- name of the versionlabel
- new labelmove
- iftrue
label will be moved- Returns:
- the version that had the label or
null
- Throws:
RepositoryException
- if an error occurs
-
itemsUpdated
public void itemsUpdated(Collection<InternalVersionItem> items)
Invoked by some external source to indicate that some items in the versions tree were updated. Version histories are reloaded if possible. Matching items are removed from the cache.- Parameters:
items
- items updated
-
setEventChannel
public void setEventChannel(UpdateEventChannel eventChannel)
Set an event channel to inform about updates.- Parameters:
eventChannel
- event channel
-
itemDiscarded
protected void itemDiscarded(InternalVersionItem item)
Invoked by the internal version item itself, when it's underlying persistence state was discarded.- Parameters:
item
- item that was discarded
-
hasItemReferences
protected boolean hasItemReferences(NodeId id) throws RepositoryException
Checks if there are item references (from outside the version storage) that reference the given node. Subclass responsibility.Please note, that the overridden method must acquire the readlock before reading the state manager.
- Parameters:
id
- the id of the node- Returns:
true
if there are item references from outside the version storage;false
otherwise.- Throws:
RepositoryException
- if an error occurs while reading from the repository.
-
getNodeStateEx
protected NodeStateEx getNodeStateEx(NodeId parentNodeId) throws RepositoryException
Returns the node with the given persistent id. Subclass responsibility.Please note, that the overridden method must acquire the readlock before reading the state manager.
- Parameters:
parentNodeId
- the id of the node- Returns:
- the nodestate for the given id.
- Throws:
RepositoryException
- if an error occurs while reading from the repository.
-
getHistoryRoot
protected NodeStateEx getHistoryRoot()
returns the version history root node- Returns:
- the version history root node
-
getActivitiesRoot
protected NodeStateEx getActivitiesRoot()
returns the activities root node- Returns:
- the activities root node
-
getSharedStateMgr
protected SharedItemStateManager getSharedStateMgr()
Returns the shared item state manager.- Returns:
- the shared item state manager.
-
createItemStateManager
protected VersionItemStateManager createItemStateManager(PersistenceManager pMgr, NodeId rootId, NodeTypeRegistry ntReg, ItemStateCacheFactory cacheFactory, ISMLocking ismLocking, NodeIdFactory nodeIdFactory) throws ItemStateException
Creates aVersionItemStateManager
or derivative.- Parameters:
pMgr
- persistence managerrootId
- root node idntReg
- node type registrycacheFactory
- cache factoryismLocking
- the ISM locking implementation- Returns:
- item state manager
- Throws:
ItemStateException
- if an error occurs
-
stateCreated
public void stateCreated(ItemState created)
Called when anItemState
has successfully been created (i.e. its underlying persistent state was created).Not used.
- Specified by:
stateCreated
in interfaceItemStateListener
- Parameters:
created
- theItemState
that has been 'created'
-
stateModified
public void stateModified(ItemState modified)
Called when anItemState
has successfully been modified (i.e. its underlying persistent state has changed).Not used.
- Specified by:
stateModified
in interfaceItemStateListener
- Parameters:
modified
- theItemState
that has been 'modified'
-
stateDestroyed
public void stateDestroyed(ItemState destroyed)
Called when anItemState
has successfully been removed (i.e. its underlying persistent state has been destroyed).Remove item from cache on removal.
- Specified by:
stateDestroyed
in interfaceItemStateListener
- Parameters:
destroyed
- theItemState
that has been 'destroyed'
-
stateDiscarded
public void stateDiscarded(ItemState discarded)
Called when anItemState
has been discarded (i.e. it has been rendered 'invalid').Not used.
- Specified by:
stateDiscarded
in interfaceItemStateListener
- Parameters:
discarded
- theItemState
that has been discarded- See Also:
ItemState.discard()
-
externalUpdate
public void externalUpdate(ChangeLog changes, List<EventState> events, long timestamp, String userData) throws RepositoryException
Handle an external update.- Specified by:
externalUpdate
in interfaceUpdateEventListener
- Parameters:
changes
- external changes containing only node and property ids.events
- events to delivertimestamp
- when the change occurred.userData
- the user data associated with this update.- Throws:
RepositoryException
- if the update cannot be processed
-
getVersion
public InternalVersion getVersion(NodeId id) throws RepositoryException
Returns the version with the given id- Specified by:
getVersion
in interfaceInternalVersionManager
- Parameters:
id
- id of the version to retrieve- Returns:
- the version or
null
- Throws:
RepositoryException
- if an error occurs
-
getBaseline
public InternalBaseline getBaseline(NodeId id) throws RepositoryException
Returns the baseline with the given id- Specified by:
getBaseline
in interfaceInternalVersionManager
- Parameters:
id
- id of the baseline version to retrieve- Returns:
- the baseline or
null
if not found - Throws:
RepositoryException
- if an error occurs
-
getActivity
public InternalActivity getActivity(NodeId id) throws RepositoryException
Returns the activity with the given id- Specified by:
getActivity
in interfaceInternalVersionManager
- Parameters:
id
- id of the activity to retrieve- Returns:
- the activity.
- Throws:
RepositoryException
- if an error occurs
-
getVersionHistory
public InternalVersionHistory getVersionHistory(NodeId id) throws RepositoryException
Returns the version history with the given id- Specified by:
getVersionHistory
in interfaceInternalVersionManager
- Parameters:
id
- id of the version history- Returns:
- the version history.
- Throws:
RepositoryException
- if an error occurs
-
getVersionHistoryOfNode
public InternalVersionHistory getVersionHistoryOfNode(NodeId id) throws RepositoryException
Returns the version history for the versionable node with the given id.- Specified by:
getVersionHistoryOfNode
in interfaceInternalVersionManager
- Parameters:
id
- id of the node to retrieve the version history for- Returns:
- the version history
- Throws:
RepositoryException
- if an error occurs or the history does not exit
-
getHeadVersionOfNode
public InternalVersion getHeadVersionOfNode(NodeId id) throws RepositoryException
Returns the head version of the node with the given id. this is always the last of all versions. this only works correctly for liner version graphs (i.e. simple versioning) Assumes that all versions are stored chronologically below the version history and just returns the last one. i.e. currently only works for simple versioning.- Specified by:
getHeadVersionOfNode
in interfaceInternalVersionManager
- Parameters:
id
- id of the node to retrieve the version for- Returns:
- the version.
- Throws:
RepositoryException
- if an error occurs
-
acquireWriteLock
protected VersioningLock.WriteLock acquireWriteLock()
Acquires the write lock on this version manager.- Returns:
- returns the write lock
-
acquireReadLock
public VersioningLock.ReadLock acquireReadLock()
acquires the read lock on this version manager.- Returns:
- returns the read lock
-
getVersionHistoryInfoForNode
public VersionHistoryInfo getVersionHistoryInfoForNode(NodeState node) throws RepositoryException
Returns information about the version history of the specified node ornull
when unavailable.- Parameters:
node
- node whose version history should be returned- Returns:
- identifiers of the version history and root version nodes
- Throws:
RepositoryException
- if an error occurs
-
getVersionHistory
public VersionHistoryInfo getVersionHistory(Session session, NodeState node, NodeId copiedFrom) throws RepositoryException
Returns information about the version history of the specified node. If the given node does not already have an associated version history, then an empty history is automatically created. This method should only be called by code that already knows that the specified node is versionable.- Specified by:
getVersionHistory
in interfaceInternalVersionManager
- Parameters:
session
- workspace sessionnode
- node whose version history should be returnedcopiedFrom
- the node id for the jcr:copiedFrom property use for copied nodes- Returns:
- identifiers of the version history and root version nodes
- Throws:
RepositoryException
- if an error occurs
-
internalRemoveActivity
protected void internalRemoveActivity(org.apache.jackrabbit.core.version.InternalActivityImpl activity) throws RepositoryException
Removes the specified activity- Parameters:
activity
- the activity to remove- Throws:
RepositoryException
- if any other error occurs.
-
getName
protected static Name getName(String name)
Utility method that returns the given string as a name in the default namespace.- Parameters:
name
- string name- Returns:
- A
Name
object.
-
getParentNode
protected static NodeStateEx getParentNode(NodeStateEx parent, String uuid, Name interNT) throws RepositoryException
Utility method that returns the parent node under which the version history of the identified versionable node is or will be stored. If theinterNT
is notnull
then the returned parent node and any ancestor nodes are automatically created if they do not already exist. Otherwisenull
is returned if the parent node does not exist.- Parameters:
parent
- the parent nodeuuid
- UUID of a versionable nodeinterNT
- intermediate nodetype.- Returns:
- parent node of the version history, or
null
- Throws:
RepositoryException
- if an error occurs
-
checkin
protected InternalVersion checkin(NodeStateEx node, Calendar created) throws RepositoryException
Creates a new version of the given node using the given version creation time.- Parameters:
node
- the node to be checked increated
- version creation time- Returns:
- the new version
- Throws:
RepositoryException
- if an error occurs
-
internalCheckin
protected InternalVersion internalCheckin(org.apache.jackrabbit.core.version.InternalVersionHistoryImpl history, NodeStateEx node, boolean simple, Calendar created) throws RepositoryException
Checks in a node- Parameters:
history
- the version historynode
- node to checkinsimple
- flag indicates simple versioningcreated
- optional created date.- Returns:
- internal version
- Throws:
RepositoryException
- if an error occurs- See Also:
Node.checkin()
-
calculateCheckinVersionName
protected String calculateCheckinVersionName(org.apache.jackrabbit.core.version.InternalVersionHistoryImpl history, NodeStateEx node, boolean simple) throws RepositoryException
Calculates the name of the new version that will be created by a checkin call. The name is determined as follows:- first the predecessor version with the shortest name is searched.
- if that predecessor version is the root version, the new version gets the name "{number of successors}+1" + ".0"
- if that predecessor version has no successor, the last digit of it's version number is incremented.
- if that predecessor version has successors but the incremented name does not exist, that name is used.
- otherwise a ".0" is added to the name until a non conflicting name is found.
jcr:rootVersion | | 1.0 2.0 | 1.1 | 1.2 ---\ ------\ | \ \ 1.3 1.2.0 1.2.0.0 | | 1.4 1.2.1 ----\ | | \ 1.5 1.2.2 1.2.1.0 | | | 1.6 | 1.2.1.1 |-----/ 1.7
- Parameters:
history
- the version historynode
- the node to checkinsimple
- iftrue
indicates simple versioning- Returns:
- the new version name
- Throws:
RepositoryException
- if an error occurs.
-
internalRemoveVersion
protected void internalRemoveVersion(org.apache.jackrabbit.core.version.InternalVersionHistoryImpl history, Name name) throws VersionException, RepositoryException
Removes the specified version from the history- Parameters:
history
- the version history from where to remove the version.name
- the name of the version to remove.- Throws:
VersionException
- if the versionhistory
does not have a version withname
.RepositoryException
- if any other error occurs.
-
internalRemoveVersionHistory
public void internalRemoveVersionHistory(org.apache.jackrabbit.core.version.InternalVersionHistoryImpl history) throws VersionException, RepositoryException
Removes the specified history from the storage- Parameters:
history
- the version history to remove- Throws:
VersionException
RepositoryException
-
setVersionLabel
protected InternalVersion setVersionLabel(org.apache.jackrabbit.core.version.InternalVersionHistoryImpl history, Name version, Name label, boolean move) throws RepositoryException
Set version label on the specified version.- Parameters:
history
- version historyversion
- version namelabel
- version labelmove
-true
to move from existing version;false
otherwise.- Returns:
- The internal version.
- Throws:
RepositoryException
- if an error occurs
-
versionCreated
protected void versionCreated(InternalVersion version)
Invoked when a new internal item has been created.- Parameters:
version
- internal version item
-
versionDestroyed
protected void versionDestroyed(InternalVersion version)
Invoked when a new internal item has been destroyed.- Parameters:
version
- internal version item
-
createInternalVersionItem
protected InternalVersionItem createInternalVersionItem(NodeId id) throws RepositoryException
- Parameters:
id
- the node id of the version item.- Returns:
- the version item or
null
if there is no node state with the givenid
. - Throws:
RepositoryException
- if an error occurs while reading from the version storage.
-
getNodeIdFactory
public NodeIdFactory getNodeIdFactory()
-
-