Search in sources :

Example 1 with Pre4NodeVersionJson

use of com.enonic.xp.repo.impl.dump.upgrade.obsoletemodel.pre4.Pre4NodeVersionJson in project xp by enonic.

the class IndexAccessSegmentsDumpUpgrader method upgradeVersionDumpEntry.

private Pre6VersionDumpEntryJson upgradeVersionDumpEntry(final RepositoryId repositoryId, final Pre4VersionDumpEntryJson versionDumpEntry) {
    // Retrieves the existing node version
    final Segment nodeDataSegment = RepositorySegmentUtils.toSegment(repositoryId, DumpConstants.DUMP_NODE_SEGMENT_LEVEL);
    final BlobKey nodeBlobKey = BlobKey.from(versionDumpEntry.getBlobKey());
    final DumpBlobRecord nodeBlobRecord = dumpReader.getDumpBlobStore().getRecord(nodeDataSegment, nodeBlobKey);
    final Pre4NodeVersionJson nodeVersion = getNodeVersion(nodeBlobRecord);
    // Serializes the new index config blob
    final byte[] serializedIndexConfig = serialize(nodeVersion.getIndexConfigDocument());
    final Segment indexConfigSegment = RepositorySegmentUtils.toSegment(repositoryId, DumpConstants.DUMP_INDEX_CONFIG_SEGMENT_LEVEL);
    final BlobKey indexConfigBlobKey = addRecord(indexConfigSegment, serializedIndexConfig);
    // Serializes the new access control blob
    final byte[] serializedAccessControl = serializeAccessControl(nodeVersion);
    final Segment accessControlSegment = RepositorySegmentUtils.toSegment(repositoryId, DumpConstants.DUMP_ACCESS_CONTROL_SEGMENT_LEVEL);
    final BlobKey accessControlBlobKey = addRecord(accessControlSegment, serializedAccessControl);
    // Return the new version dump entry
    return Pre6VersionDumpEntryJson.create().nodePath(versionDumpEntry.getNodePath()).timestamp(versionDumpEntry.getTimestamp()).version(versionDumpEntry.getVersion()).nodeBlobKey(versionDumpEntry.getBlobKey()).indexConfigBlobKey(indexConfigBlobKey.toString()).accessControlBlobKey(accessControlBlobKey.toString()).nodeState(versionDumpEntry.getNodeState()).build();
}
Also used : Pre4NodeVersionJson(com.enonic.xp.repo.impl.dump.upgrade.obsoletemodel.pre4.Pre4NodeVersionJson) BlobKey(com.enonic.xp.blob.BlobKey) DumpBlobRecord(com.enonic.xp.repo.impl.dump.blobstore.DumpBlobRecord) Segment(com.enonic.xp.blob.Segment)

Aggregations

BlobKey (com.enonic.xp.blob.BlobKey)1 Segment (com.enonic.xp.blob.Segment)1 DumpBlobRecord (com.enonic.xp.repo.impl.dump.blobstore.DumpBlobRecord)1 Pre4NodeVersionJson (com.enonic.xp.repo.impl.dump.upgrade.obsoletemodel.pre4.Pre4NodeVersionJson)1