*/
@Override
public ItemData getItemData(String identifier) throws RepositoryException
{
// from cache at first
ItemData cdata = persistentManager.getCachedItemData(identifier);
if (cdata != null && !(cdata instanceof NullItemData))
return super.getItemData(identifier);
if (!this.equals(versionDataManager) && !identifier.equals(Constants.ROOT_UUID))
{
// search in System cache for /jcr:system nodes only
cdata = versionDataManager.persistentManager.getCachedItemData(identifier);
if (cdata != null && !(cdata instanceof NullItemData))
if (isSystemDescendant(cdata.getQPath()))
return versionDataManager.getItemData(identifier);
else
return null;
}
// then from persistence
ItemData data = super.getItemData(identifier);
if (data != null)
return data;
else if (!this.equals(versionDataManager))
{
// try from version storage if not the same
data = versionDataManager.getItemData(identifier);
if (data != null && isSystemDescendant(data.getQPath()))
return data;
}
return null;
}