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