private Node importNode( final VirtualFile nodeFolder, final ProcessNodeSettings.Builder processNodeSettings, final Node serializedNode, final NodePath importNodePath) { final BinaryAttachments binaryAttachments = processBinaryAttachments(nodeFolder, serializedNode); final ProcessNodeSettings settings = processNodeSettings.build(); final Node importNode = ImportNodeFactory.create() .importNodeIds(this.importNodeIds) .importPermissions(this.importPermissions) .serializedNode(serializedNode) .importPath(importNodePath) .processNodeSettings(settings) .build() .execute(); final ImportNodeParams importNodeParams = ImportNodeParams.create() .importNode(importNode) .binaryAttachments(binaryAttachments) .insertManualStrategy(settings.getInsertManualStrategy()) .dryRun(this.dryRun) .importPermissions(this.importPermissions) .build(); final Node importedNode = this.nodeService.importNode(importNodeParams); return importedNode; }
private void importFromManualOrder(final VirtualFile nodeFolder) { final List<String> childNames; try { final List<String> relativeChildNames = processBinarySource(nodeFolder); childNames = getChildrenAbsolutePaths(nodeFolder, relativeChildNames); } catch (Exception e) { result.addError("Not able to import nodes by manual order, using default ordering", e); importFromDirectoryLayout(nodeFolder); return; } long currentManualOrderValue = IMPORT_NODE_ORDER_START_VALUE; for (final String childName : childNames) { final VirtualFile child = nodeFolder.resolve(VirtualFilePaths.from(childName, "/")); final ProcessNodeSettings.Builder processNodeSettings = ProcessNodeSettings.create() .insertManualStrategy(InsertManualStrategy.MANUAL) .manualOrderValue(currentManualOrderValue); if (child != null) { processNodeFolder(child, processNodeSettings); } currentManualOrderValue -= IMPORT_NODE_ORDER_SPACE; } }
private void importFromDirectoryLayout(final VirtualFile parentFolder) { final Stream<VirtualFile> children = this.exportReader.getChildren(parentFolder); children.forEach((child) -> processNodeFolder(child, ProcessNodeSettings.create())); }