Exemplo n.º 1
0
  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;
  }
Exemplo n.º 2
0
  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;
    }
  }
Exemplo n.º 3
0
  private void importFromDirectoryLayout(final VirtualFile parentFolder) {
    final Stream<VirtualFile> children = this.exportReader.getChildren(parentFolder);

    children.forEach((child) -> processNodeFolder(child, ProcessNodeSettings.create()));
  }