]> git.aero2k.de Git - tmp/jakarta-migration.git/blob
3dfd17565dbe910ab7c67bcd312942c82c879e5b
[tmp/jakarta-migration.git] /
1 package org.collectionspace.services.imports.nuxeo;\r
2 \r
3 import java.io.File;\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
17 \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
21 \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
27         try {\r
28             return importTree(repository, file, dest);\r
29         } finally {\r
30             repository.close();\r
31         }\r
32     }\r
33 \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
38         try {\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
46             pipe.run();\r
47         } finally {\r
48             if (reader != null) {\r
49                 reader.close();\r
50                 dump = ((LoggedXMLDirectoryReader)reader).report();\r
51             }\r
52             if (writer != null) {\r
53                 writer.close();\r
54             }\r
55         }\r
56         return dump;\r
57     }\r
58 }