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.NuxeoConnectorEmbedded;
\r
8 import org.nuxeo.ecm.core.api.repository.RepositoryInstance;
\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 logger = 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 NuxeoClientEmbedded client = NuxeoConnectorEmbedded.getInstance().getClient();
\r
24 RepositoryInstance repoSession = client.openRepository();
\r
26 return importTree(repoSession, file, dest);
\r
28 // repository.close();
\r
29 client.releaseRepository(repoSession);
\r
33 String importTree(RepositoryInstance repository, File file, String toPath) throws Exception {
\r
34 DocumentReader reader = null;
\r
35 DocumentWriter writer = null;
\r
36 String dump = "NO RESULTS";
\r
38 System.out.println("importTree reading file: "+file+(file!=null ? " exists? "+file.exists() : " file param is null"));
\r
39 reader = new LoggedXMLDirectoryReader(file); //our overload of XMLDirectoryReader.
\r
40 writer = new DocumentModelWriter(repository, toPath, 10);
\r
41 DocumentPipe pipe = new DocumentPipeImpl(10);
\r
42 // pipe.addTransformer(transformer);
\r
43 pipe.setReader(reader);
\r
44 pipe.setWriter(writer);
\r
47 if (reader != null) {
\r
49 dump = ((LoggedXMLDirectoryReader)reader).report();
\r
51 if (writer != null) {
\r