/*
   * (non-Javadoc)
   *
   * @see org.alfresco.repo.transfer.ManifestProcessorFactory#getPrimaryCommitProcessor()
   */
  public List<TransferManifestProcessor> getCommitProcessors(
      TransferReceiver receiver, String transferId) {
    List<TransferManifestProcessor> processors = new ArrayList<TransferManifestProcessor>();
    CorrespondingNodeResolver nodeResolver = nodeResolverFactory.getResolver();

    RepoPrimaryManifestProcessorImpl primaryProcessor =
        new RepoPrimaryManifestProcessorImpl(receiver, transferId);
    primaryProcessor.setContentService(contentService);
    primaryProcessor.setNodeResolver(nodeResolver);
    primaryProcessor.setNodeService(nodeService);
    primaryProcessor.setDictionaryService(dictionaryService);
    primaryProcessor.setPermissionService(getPermissionService());
    primaryProcessor.setAlienProcessor(getAlienProcessor());
    processors.add(primaryProcessor);

    RepoSecondaryManifestProcessorImpl secondaryProcessor =
        new RepoSecondaryManifestProcessorImpl(receiver, transferId);
    secondaryProcessor.setNodeResolver(nodeResolver);
    secondaryProcessor.setNodeService(nodeService);
    processors.add(secondaryProcessor);

    RepoTertiaryManifestProcessorImpl tertiaryProcessor =
        new RepoTertiaryManifestProcessorImpl(receiver, transferId);
    tertiaryProcessor.setNodeService(nodeService);
    tertiaryProcessor.setAlienProcessor(getAlienProcessor());
    tertiaryProcessor.setNodeResolver(nodeResolver);
    processors.add(tertiaryProcessor);

    return processors;
  }
  public TransferManifestProcessor getRequsiteProcessor(
      TransferReceiver receiver, String transferId, TransferRequsiteWriter out) {
    RepoRequisiteManifestProcessorImpl processor =
        new RepoRequisiteManifestProcessorImpl(receiver, transferId, out);

    CorrespondingNodeResolver nodeResolver = nodeResolverFactory.getResolver();
    processor.setNodeResolver(nodeResolver);
    processor.setNodeService(nodeService);

    return processor;
  }