1 package org.collectionspace.services.imports.nuxeo;
\r
4 import org.apache.commons.logging.Log;
\r
5 import org.apache.commons.logging.LogFactory;
\r
6 import org.collectionspace.services.nuxeo.client.java.NuxeoConnector;
\r
7 import org.nuxeo.ecm.core.api.repository.RepositoryInstance;
\r
8 import org.nuxeo.ecm.core.client.NuxeoClient;
\r
9 import org.nuxeo.ecm.core.io.DocumentPipe;
\r
10 import org.nuxeo.ecm.core.io.DocumentReader;
\r
11 import org.nuxeo.ecm.core.io.DocumentWriter;
\r
12 import org.nuxeo.ecm.core.io.impl.DocumentPipeImpl;
\r
13 import org.nuxeo.ecm.core.io.impl.plugins.DocumentModelWriter;
\r
14 // we use our own override of this: import org.nuxeo.ecm.core.io.impl.plugins.XMLDirectoryReader;
\r
16 // based loosely on package org.nuxeo.ecm.shell.commands.io.ImportCommand;
\r
17 public class ImportCommand {
\r
18 private static final Log log = LogFactory.getLog(ImportCommand.class);
\r
20 public String run(String src, String dest) throws Exception {
\r
21 File file = new File(src);
\r
22 ///cspace way of configuring client and auth:
\r
23 NuxeoClient client = NuxeoConnector.getInstance().getClient();
\r
24 RepositoryInstance repository = client.openRepository();
\r
26 return importTree(repository, file, dest);
\r
32 String importTree(RepositoryInstance repository, File file, String toPath) throws Exception {
\r
33 DocumentReader reader = null;
\r
34 DocumentWriter writer = null;
\r
35 String dump = "NO RESULTS";
\r
37 System.out.println("importTree reading file: "+file+(file!=null ? " exists? "+file.exists() : " file param is null"));
\r
38 reader = new LoggedXMLDirectoryReader(file); //our overload of XMLDirectoryReader.
\r
39 writer = new DocumentModelWriter(repository, toPath, 10);
\r
40 DocumentPipe pipe = new DocumentPipeImpl(10);
\r
41 // pipe.addTransformer(transformer);
\r
42 pipe.setReader(reader);
\r
43 pipe.setWriter(writer);
\r
46 if (reader != null) {
\r
48 dump = ((LoggedXMLDirectoryReader)reader).report();
\r
50 if (writer != null) {
\r