]> git.aero2k.de Git - tmp/jakarta-migration.git/blob
003432699649966a368756730dd5e66e6c656007
[tmp/jakarta-migration.git] /
1 /**\r
2  * \r
3  */\r
4 package org.collectionspace.services.intake;\r
5 \r
6 import org.collectionspace.services.*;\r
7 import java.io.ByteArrayInputStream;\r
8 import java.io.IOException;\r
9 import java.util.ArrayList;\r
10 import java.util.Arrays;\r
11 import java.util.HashMap;\r
12 import java.util.List;\r
13 import java.util.Map;\r
14 \r
15 import org.collectionspace.services.nuxeo.client.rest.NuxeoRESTClient;\r
16 import org.collectionspace.services.nuxeo.CollectionSpaceServiceNuxeoImpl;\r
17 import org.collectionspace.services.intake.Intake;\r
18 import org.collectionspace.services.IntakeJAXBSchema;\r
19 \r
20 import org.dom4j.Document;\r
21 import org.dom4j.DocumentException;\r
22 import org.dom4j.io.SAXReader;\r
23 import org.restlet.resource.Representation;\r
24 \r
25 /**\r
26  * @author remillet\r
27  * \r
28  */\r
29 public class IntakeServiceNuxeoImpl extends\r
30                 CollectionSpaceServiceNuxeoImpl implements IntakeService {\r
31 \r
32         final static String INTAKE_NUXEO_DOCTYPE = "Intake";\r
33         final static String INTAKE_NUXEO_SCHEMA_NAME = "intake";\r
34         final static String INTAKE_NUXEO_DC_TITLE = "CollectionSpace-Intake";\r
35 \r
36         // replace WORKSPACE_UID for resource workspace\r
37         static String CS_INTAKE_WORKSPACE_UID = "c04210c4-9426-475f-b4ee-aa3d6aa4b97c";\r
38 \r
39         public Document deleteIntake(String csid)\r
40                         throws DocumentException, IOException {\r
41 \r
42                 Document result = null;\r
43                 \r
44 //              NuxeoRESTClient nxClient = getClient();\r
45 //              List<String> pathParams = new ArrayList<String>();\r
46 //              Map<String, String> queryParams = new HashMap<String, String>();\r
47 //\r
48 //              pathParams.add("default");\r
49 //              pathParams.add(csid);\r
50 //              pathParams.add("deleteDocumentRestlet");\r
51 //              Representation res = nxClient.get(pathParams, queryParams);\r
52 //              SAXReader reader = new SAXReader();\r
53 //              result = reader.read(res.getStream());\r
54                 \r
55                 return result;\r
56         }\r
57 \r
58         public Document getIntake(String csid) throws DocumentException,\r
59                         IOException {\r
60                 Document result = null;\r
61                 \r
62 //              List<String> pathParams = new ArrayList<String>();\r
63 //              Map<String, String> queryParams = new HashMap<String, String>();\r
64 //\r
65 //              pathParams.add("default");\r
66 //              pathParams.add(csid);\r
67 //              pathParams.add("export");\r
68 //              queryParams.put("format", "XML");\r
69 //\r
70 //              NuxeoRESTClient nxClient = getClient();\r
71 //              Representation res = nxClient.get(pathParams, queryParams);\r
72 //\r
73 //              SAXReader reader = new SAXReader();\r
74 //              result = reader.read(res.getStream());\r
75 \r
76                 return result;\r
77         }\r
78 \r
79         public Document getIntakeList() throws DocumentException,\r
80                         IOException {\r
81                 Document result = null;\r
82 \r
83 //              NuxeoRESTClient nxClient = getClient();\r
84 //              List<String> pathParams = new ArrayList<String>();\r
85 //              Map<String, String> queryParams = new HashMap<String, String>();\r
86 //              pathParams = Arrays.asList("default",\r
87 //                              CS_INTAKE_WORKSPACE_UID, "browse");\r
88 //              Representation res = nxClient.get(pathParams, queryParams);\r
89 //              SAXReader reader = new SAXReader();\r
90 //              result = reader.read(res.getStream());\r
91 \r
92                 return result;\r
93         }\r
94 \r
95         public Document postIntake(Intake co)\r
96                         throws DocumentException, IOException {\r
97                 Document result = null;\r
98                 \r
99 //              NuxeoRESTClient nxClient = getClient();\r
100 //\r
101 //              List<String> pathParams = new ArrayList<String>();\r
102 //              Map<String, String> queryParams = new HashMap<String, String>();\r
103 //              pathParams.add("default");\r
104 //              pathParams.add(CS_INTAKE_WORKSPACE_UID);\r
105 //              pathParams.add("createDocument");\r
106 //              queryParams.put("docType", INTAKE_NUXEO_DOCTYPE);\r
107 //\r
108 //              // a default title for the Dublin Core schema\r
109 //              queryParams.put("dublincore:title", INTAKE_NUXEO_DC_TITLE);\r
110 //\r
111 //              // Intake core values\r
112 //              queryParams.put(INTAKE_NUXEO_SCHEMA_NAME + ":"\r
113 //                              + IntakeJAXBSchema.CURRENT_OWNER, co\r
114 //                              .getCurrentOwner());\r
115 //              queryParams.put(INTAKE_NUXEO_SCHEMA_NAME + ":"\r
116 //                              + IntakeJAXBSchema.DEPOSITOR, co.getDepositor());\r
117 //              queryParams.put(INTAKE_NUXEO_SCHEMA_NAME + ":"\r
118 //                              + IntakeJAXBSchema.DEPOSITORS_REQUIREMENTS, co\r
119 //                              .getDepositorsRequirements());\r
120 //              queryParams.put(INTAKE_NUXEO_SCHEMA_NAME + ":"\r
121 //                              + IntakeJAXBSchema.ENTRY_DATE, co.getEntryDate());\r
122 //              queryParams.put(INTAKE_NUXEO_SCHEMA_NAME + ":"\r
123 //                              + IntakeJAXBSchema.ENTRY_METHOD, co\r
124 //                              .getEntryMethod());\r
125 //              queryParams.put(INTAKE_NUXEO_SCHEMA_NAME + ":"\r
126 //                              + IntakeJAXBSchema.ENTRY_NOTE, co.getEntryNote());\r
127 //              queryParams.put(INTAKE_NUXEO_SCHEMA_NAME + ":"\r
128 //                              + IntakeJAXBSchema.ENTRY_NUMBER, co\r
129 //                              .getEntryNumber());\r
130 //              queryParams.put(INTAKE_NUXEO_SCHEMA_NAME + ":"\r
131 //                              + IntakeJAXBSchema.ENTRY_REASON, co.getEntryReason());\r
132 //              queryParams.put(INTAKE_NUXEO_SCHEMA_NAME + ":"\r
133 //                              + IntakeJAXBSchema.PACKING_NOTE, co.getPackingNote());\r
134 //              queryParams.put(INTAKE_NUXEO_SCHEMA_NAME + ":"\r
135 //                              + IntakeJAXBSchema.RETURN_DATE, co.getReturnDate());\r
136 //\r
137 //              ByteArrayInputStream bais = new ByteArrayInputStream(new byte[0]);\r
138 //              Representation res = nxClient.post(pathParams, queryParams, bais);\r
139 //\r
140 //              SAXReader reader = new SAXReader();\r
141 //              result = reader.read(res.getStream());\r
142 \r
143                 return result;\r
144         }\r
145 \r
146         public Document putIntake(String csid, Intake theUpdate)\r
147                         throws DocumentException, IOException {\r
148                 Document result = null;\r
149                 \r
150 //              List<String> pathParams = new ArrayList<String>();\r
151 //              Map<String, String> queryParams = new HashMap<String, String>();\r
152 //              pathParams.add("default");\r
153 //              pathParams.add(csid);\r
154 //              pathParams.add("updateDocumentRestlet");\r
155 //\r
156 //              // todo: intelligent merge needed\r
157 //              if (theUpdate.getCurrentOwner() != null) {\r
158 //                      queryParams.put(INTAKE_NUXEO_SCHEMA_NAME + ":"\r
159 //                                      + IntakeJAXBSchema.CURRENT_OWNER, theUpdate.getCurrentOwner());\r
160 //              }\r
161 //\r
162 //              if (theUpdate.getDepositor() != null) {\r
163 //                      queryParams.put(INTAKE_NUXEO_SCHEMA_NAME + ":"\r
164 //                                      + IntakeJAXBSchema.DEPOSITOR, theUpdate.getDepositor());\r
165 //              }\r
166 //\r
167 //              if (theUpdate.getDepositorsRequirements() != null) {\r
168 //                      queryParams.put(INTAKE_NUXEO_SCHEMA_NAME + ":"\r
169 //                                      + IntakeJAXBSchema.DEPOSITORS_REQUIREMENTS, theUpdate.getDepositorsRequirements());\r
170 //              }\r
171 //\r
172 //              if (theUpdate.getEntryDate() != null) {\r
173 //                      queryParams.put(INTAKE_NUXEO_SCHEMA_NAME + ":"\r
174 //                                      + IntakeJAXBSchema.ENTRY_DATE, theUpdate.getEntryDate());\r
175 //              }\r
176 //\r
177 //              if (theUpdate.getEntryMethod() != null) {\r
178 //                      queryParams.put(INTAKE_NUXEO_SCHEMA_NAME + ":"\r
179 //                                      + IntakeJAXBSchema.ENTRY_METHOD, theUpdate.getEntryMethod());\r
180 //              }\r
181 //\r
182 //              if (theUpdate.getEntryNote() != null) {\r
183 //                      queryParams.put(INTAKE_NUXEO_SCHEMA_NAME + ":"\r
184 //                                      + IntakeJAXBSchema.ENTRY_NOTE, theUpdate.getEntryNote());\r
185 //              }\r
186 //\r
187 //              if (theUpdate.getEntryNumber() != null) {\r
188 //                      queryParams.put(INTAKE_NUXEO_SCHEMA_NAME + ":"\r
189 //                                      + IntakeJAXBSchema.ENTRY_NUMBER, theUpdate.getEntryNumber());\r
190 //              }\r
191 //\r
192 //              if (theUpdate.getEntryReason() != null) {\r
193 //                      queryParams.put(INTAKE_NUXEO_SCHEMA_NAME + ":"\r
194 //                                      + IntakeJAXBSchema.ENTRY_REASON, theUpdate.getEntryReason());\r
195 //              }\r
196 //\r
197 //              if (theUpdate.getPackingNote() != null) {\r
198 //                      queryParams.put(INTAKE_NUXEO_SCHEMA_NAME + ":"\r
199 //                                      + IntakeJAXBSchema.PACKING_NOTE, theUpdate.getPackingNote());\r
200 //              }\r
201 //\r
202 //              if (theUpdate.getReturnDate() != null) {\r
203 //                      queryParams.put(INTAKE_NUXEO_SCHEMA_NAME + ":"\r
204 //                                      + IntakeJAXBSchema.RETURN_DATE, theUpdate.getReturnDate());\r
205 //              }\r
206 //\r
207 //              NuxeoRESTClient nxClient = getClient();\r
208 //              Representation res = nxClient.get(pathParams, queryParams);\r
209 //              SAXReader reader = new SAXReader();\r
210 //              result = reader.read(res.getStream());\r
211 \r
212                 return result;\r
213         }\r
214 \r
215 }\r