use of com.enonic.xp.node.Node in project xp by enonic.
the class RepositoryServiceImpl method pushRootNode.
private void pushRootNode(final Repository currentRepo, final Branch branch) {
final Context context = ContextAccessor.current();
final InternalContext internalContext = InternalContext.create(context).branch(RepositoryConstants.MASTER_BRANCH).build();
final Node rootNode = this.nodeStorageService.get(Node.ROOT_UUID, internalContext);
if (rootNode == null) {
throw new NodeNotFoundException("Cannot find root-node in repository [" + currentRepo + "]");
}
this.nodeStorageService.push(rootNode, branch, internalContext);
}
use of com.enonic.xp.node.Node in project xp by enonic.
the class NodeStorageServiceImpl method loadVersionMetadata.
private void loadVersionMetadata(final LoadVersionMetadataParams loadVersionMetadataParams) {
final Node node = loadVersionMetadataParams.getNode();
this.versionService.store(NodeVersionMetadata.create().nodeId(node.id()).nodeVersionId(loadVersionMetadataParams.getNodeVersionId()).nodeVersionKey(loadVersionMetadataParams.getNodeVersionKey()).binaryBlobKeys(getBinaryBlobKeys(node.getAttachedBinaries())).nodePath(node.path()).nodeCommitId(loadVersionMetadataParams.getNodeCommitId()).timestamp(node.getTimestamp()).build(), loadVersionMetadataParams.getContext());
}
use of com.enonic.xp.node.Node in project xp by enonic.
the class NodeStorageServiceImpl method storeBranchMetadata.
private void storeBranchMetadata(final StoreBranchMetadataParams storeBranchMetadataParams) {
final Node node = storeBranchMetadataParams.getNode();
this.branchService.store(NodeBranchEntry.create().nodeVersionId(storeBranchMetadataParams.getNodeVersionId()).nodeVersionKey(storeBranchMetadataParams.getNodeVersionKey()).nodeId(node.id()).nodeState(node.getNodeState()).timestamp(node.getTimestamp()).nodePath(node.path()).build(), storeBranchMetadataParams.getContext());
}
use of com.enonic.xp.node.Node in project xp by enonic.
the class NodeStorageServiceImpl method load.
@Override
public Node load(final LoadNodeParams params, final InternalContext context) {
final Node node = params.getNode();
final NodeVersion nodeVersion = NodeVersion.create().id(node.id()).nodeType(node.getNodeType()).data(node.data()).indexConfigDocument(node.getIndexConfigDocument()).childOrder(node.getChildOrder()).manualOrderValue(node.getManualOrderValue()).permissions(node.getPermissions()).inheritPermissions(node.inheritsPermissions()).attachedBinaries(node.getAttachedBinaries()).build();
final NodeVersionId nodeVersionId = node.getNodeVersionId();
final NodeVersionKey nodeVersionKey = nodeVersionService.store(nodeVersion, context);
final LoadVersionMetadataParams loadVersionMetadataParams = LoadVersionMetadataParams.create().node(node).nodeVersionId(nodeVersionId).nodeVersionKey(nodeVersionKey).nodeCommitId(params.getNodeCommitId()).context(context).build();
loadVersionMetadata(loadVersionMetadataParams);
final StoreBranchMetadataParams storeBranchMetadataParams = StoreBranchMetadataParams.create().node(node).nodeVersionId(nodeVersionId).nodeVersionKey(nodeVersionKey).context(context).build();
storeBranchMetadata(storeBranchMetadataParams);
indexNode(node, nodeVersionId, context);
return Node.create(node).nodeVersionId(nodeVersionId).build();
}
use of com.enonic.xp.node.Node in project xp by enonic.
the class VersionTableVacuumCommand method findVersionsInBranches.
private BRANCH_CHECK_RESULT findVersionsInBranches(final Repository repository, final NodeVersionMetadata versionMetadata) {
final NodeId nodeId = versionMetadata.getNodeId();
final NodeVersionId versionId = versionMetadata.getNodeVersionId();
boolean nodeFound = false;
for (final Branch branch : repository.getBranches()) {
try {
final Node node = ContextBuilder.from(ContextAccessor.current()).branch(branch).repositoryId(repository.getId()).build().callWith(() -> this.nodeService.getById(nodeId));
if (versionId.equals(node.getNodeVersionId())) {
return BRANCH_CHECK_RESULT.SAME_VERSION_FOUND;
}
nodeFound = true;
} catch (NodeNotFoundException e) {
// Ignore
}
}
return nodeFound ? BRANCH_CHECK_RESULT.OTHER_VERSION_FOUND : BRANCH_CHECK_RESULT.NO_VERSION_FOUND;
}
Aggregations