]> git.aero2k.de Git - tmp/jakarta-migration.git/blob
4b49abc02325f9d98e55a67afc456bbda6d98bcb
[tmp/jakarta-migration.git] /
1 /**\r
2  * Copyright 2009 University of California at Berkeley\r
3  */\r
4 package org.collectionspace.services.nuxeo;\r
5 \r
6 import java.io.IOException;\r
7 \r
8 import org.collectionspace.services.common.ServiceMain;\r
9 import org.collectionspace.services.common.repository.DocumentNotFoundException;\r
10 import org.collectionspace.services.nuxeo.client.rest.NuxeoRESTClient;\r
11 import org.collectionspace.services.nuxeo.client.java.NuxeoConnector;\r
12 import org.collectionspace.services.nuxeo.util.NuxeoUtils;\r
13 \r
14 import org.dom4j.Document;\r
15 import org.dom4j.DocumentException;\r
16 import org.dom4j.dom.DOMDocument;\r
17 import org.dom4j.dom.DOMDocumentFactory;\r
18 \r
19 import org.w3c.dom.DOMException;\r
20 import org.w3c.dom.Element;\r
21 \r
22 import org.nuxeo.ecm.core.api.DocumentModel;\r
23 import org.nuxeo.ecm.core.api.DocumentModelList;\r
24 import org.nuxeo.ecm.core.api.DocumentRef;\r
25 import org.nuxeo.ecm.core.api.IdRef;\r
26 import org.nuxeo.ecm.core.api.ClientException;\r
27 import org.nuxeo.ecm.core.api.repository.RepositoryInstance;\r
28 import org.nuxeo.ecm.core.client.NuxeoClient;\r
29 \r
30 import org.slf4j.Logger;\r
31 import org.slf4j.LoggerFactory;\r
32 \r
33 /**\r
34  * @author remillet\r
35  * \r
36  */\r
37 public abstract class CollectionSpaceServiceNuxeoImpl {\r
38 \r
39         \r
40         protected Logger logger = LoggerFactory\r
41                         .getLogger(CollectionSpaceServiceNuxeoImpl.class);\r
42 \r
43 //      public NuxeoRESTClient getClient() {\r
44 //              NuxeoRESTClient nxClient = new NuxeoRESTClient(CS_NUXEO_URI);\r
45 //\r
46 //              nxClient.setAuthType(NuxeoRESTClient.AUTH_TYPE_BASIC);\r
47 //              nxClient.setBasicAuthentication("Administrator", "Administrator");\r
48 //\r
49 //              return nxClient;\r
50 //      }\r
51 \r
52     \r
53     protected RepositoryInstance getRepositorySession() throws Exception {\r
54                 // FIXME: is it possible to reuse repository session?\r
55                 // Authentication failures happen while trying to reuse the session\r
56                 NuxeoClient client = NuxeoConnector.getInstance().getClient();\r
57                 RepositoryInstance repoSession = client.openRepository();\r
58                 if (logger.isDebugEnabled()) {\r
59                         logger.debug("getRepository() repository root: "\r
60                                         + repoSession.getRootDocument());\r
61                 }\r
62                 return repoSession;\r
63         }\r
64 \r
65     protected void releaseRepositorySession(RepositoryInstance repoSession) {\r
66                 try {\r
67                         NuxeoClient client = NuxeoConnector.getInstance().getClient();\r
68                         // release session\r
69                         client.releaseRepository(repoSession);\r
70                 } catch (Exception e) {\r
71                         logger.error("Could not close the repository session", e);\r
72                         // no need to throw this service specific exception\r
73                 }\r
74         }\r
75     \r
76 }\r