source: ccr/trunk/nhin-vista/projects/NHINC/Current/Product/Production/Gateway/AggregatorEJB/test/gov/hhs/fha/nhinc/gateway/aggregator/NhincComponentAggregatorTest.java@ 507

Last change on this file since 507 was 507, checked in by George Lilly, 15 years ago

NHIN gateway and adaptor for use on linux with VistA EHR and RPMS

File size: 26.3 KB
Line 
1/*
2 * To change this template, choose Tools | Templates
3 * and open the template in the editor.
4 */
5package gov.hhs.fha.nhinc.gateway.aggregator;
6
7import gov.hhs.fha.nhinc.common.connectionmanager.dao.AssigningAuthorityHomeCommunityMappingDAO;
8import gov.hhs.fha.nhinc.util.StringUtil;
9
10import gov.hhs.fha.nhinc.common.nhinccommon.QualifiedSubjectIdentifierType;
11import gov.hhs.fha.nhinc.common.nhinccommon.QualifiedSubjectIdentifiersType;
12import gov.hhs.fha.nhinc.gateway.aggregator.document.DocQueryAggregator;
13import gov.hhs.fha.nhinc.gateway.aggregator.document.DocRetrieveAggregator;
14import ihe.iti.xds_b._2007.RetrieveDocumentSetRequestType;
15import ihe.iti.xds_b._2007.RetrieveDocumentSetRequestType.DocumentRequest;
16import ihe.iti.xds_b._2007.RetrieveDocumentSetResponseType;
17import java.util.List;
18import oasis.names.tc.ebxml_regrep.xsd.query._3.AdhocQueryResponse;
19import org.junit.After;
20import org.junit.AfterClass;
21import org.junit.Before;
22import org.junit.BeforeClass;
23import org.junit.Test;
24import static org.junit.Assert.*;
25
26
27/**
28 *
29 * @author westbergl
30 */
31public class NhincComponentAggregatorTest
32{
33 private static final String ADHOC_QUERY_RESPONSE_XML_FILE = "AdhocQueryResponseExample.xml";
34 private static final String RETRIEVE_DOCUMENT_SET_RESPONSE_XML_FILE = "RetrieveDocumentSetResponseExample.xml";
35
36 public NhincComponentAggregatorTest()
37 {
38 }
39
40 @BeforeClass
41 public static void setUpClass() throws Exception
42 {
43 }
44
45 @AfterClass
46 public static void tearDownClass() throws Exception
47 {
48 }
49
50 @Before
51 public void setUp()
52 {
53 }
54
55 @After
56 public void tearDown()
57 {
58 }
59
60 /**
61 * This creates a filled out AdhocQueryResponse message.
62 *
63 * @return A filled out AdhocQueryResponse message.
64 */
65 private AdhocQueryResponse createAdhocQueryResponse()
66 {
67 AdhocQueryResponse oAdhocQueryResponse = new AdhocQueryResponse();
68
69 try
70 {
71 String sAdhocQueryResponseXML = StringUtil.readTextFile(ADHOC_QUERY_RESPONSE_XML_FILE);
72 if ((sAdhocQueryResponseXML != null) &&
73 (sAdhocQueryResponseXML.length() > 0))
74 {
75 DocQueryAggregator oDocQueryAggregator = new DocQueryAggregator();
76 oAdhocQueryResponse = oDocQueryAggregator.unmarshalAdhocQueryResponse(sAdhocQueryResponseXML);
77 }
78 }
79 catch (Exception e)
80 {
81 System.out.println("An unexpected exception occurred: " + e.getMessage());
82 fail("Failed to read example XML.");
83 }
84
85 return oAdhocQueryResponse;
86 }
87
88 /**
89 * This creates a filled out RetrieveDocumentSetResponse message.
90 *
91 * @return A filled out RetrieveDocumentSetResponse message.
92 */
93 private RetrieveDocumentSetResponseType createRetrieveDocumentSetResponse()
94 {
95 RetrieveDocumentSetResponseType oRetrieveDocumentSetResponse = new RetrieveDocumentSetResponseType();
96
97 try
98 {
99 String sRetrieveDocumentSetResponseXML = StringUtil.readTextFile(RETRIEVE_DOCUMENT_SET_RESPONSE_XML_FILE);
100 if ((sRetrieveDocumentSetResponseXML != null) &&
101 (sRetrieveDocumentSetResponseXML.length() > 0))
102 {
103 DocRetrieveAggregator oDocRetrieveAggregator = new DocRetrieveAggregator();
104 oRetrieveDocumentSetResponse = oDocRetrieveAggregator.unmarshalAdhocQueryResponse(sRetrieveDocumentSetResponseXML);
105 }
106 }
107 catch (Exception e)
108 {
109 System.out.println("An unexpected exception occurred: " + e.getMessage());
110 fail("Failed to read example XML.");
111 }
112
113 return oRetrieveDocumentSetResponse;
114 }
115
116 /**
117 * Test of startTransactionDocQuery method, of class NhincComponentAggregator.
118 */
119 @Test
120 public void testDocQueryFullTransactionProcess()
121 {
122 System.out.println("Start testDocQueryFullTransactionProcess");
123
124 System.out.println("Starting transaction...");
125
126 AssigningAuthorityHomeCommunityMappingDAO mappingDao = new AssigningAuthorityHomeCommunityMappingDAO();
127 String sHomeCommunityId = mappingDao.getHomeCommunityId("1.1");
128
129 StartTransactionDocQueryRequestType oRequest = new StartTransactionDocQueryRequestType();
130 oRequest.setQualifiedPatientIdentifiers(new QualifiedSubjectIdentifiersType());
131
132 QualifiedSubjectIdentifierType oId = new QualifiedSubjectIdentifierType();
133 oRequest.getQualifiedPatientIdentifiers().getQualifiedSubjectIdentifier().add(oId);
134 oId.setAssigningAuthorityIdentifier("1.1");
135 oId.setSubjectIdentifier("1");
136
137 oId = new QualifiedSubjectIdentifierType();
138 oRequest.getQualifiedPatientIdentifiers().getQualifiedSubjectIdentifier().add(oId);
139 oId.setAssigningAuthorityIdentifier("1.1");
140 oId.setSubjectIdentifier("2");
141
142 oId = new QualifiedSubjectIdentifierType();
143 oRequest.getQualifiedPatientIdentifiers().getQualifiedSubjectIdentifier().add(oId);
144 oId.setAssigningAuthorityIdentifier("1.1");
145 oId.setSubjectIdentifier("3");
146
147 NhincComponentAggregator oAggregator = new NhincComponentAggregator();
148
149 StartTransactionDocQueryResponseType oStartTransactResponse = null;
150 oStartTransactResponse = oAggregator.startTransactionDocQuery(oRequest);
151 assertNotNull(oStartTransactResponse);
152 assertNotSame("TransactionId:", oStartTransactResponse.getTransactionId(), "");
153 String sTransactionId = oStartTransactResponse.getTransactionId();
154
155 System.out.println("Done starting transaction...");
156
157 System.out.println("Adding response messages starting transaction...");
158
159 AdhocQueryResponse oAdhocQueryResponse = createAdhocQueryResponse();
160 SetResponseMsgDocQueryResponseType oSetResponseMsgResponse = null;
161 // Message 1
162 //----------
163 SetResponseMsgDocQueryRequestType oSetResponseMsgRequest = new SetResponseMsgDocQueryRequestType();
164 oSetResponseMsgRequest.setTransactionId(sTransactionId);
165 oSetResponseMsgRequest.setHomeCommunityId(sHomeCommunityId);
166 oSetResponseMsgRequest.setQualifiedPatientIdentifier(new QualifiedSubjectIdentifierType());
167 oSetResponseMsgRequest.getQualifiedPatientIdentifier().setAssigningAuthorityIdentifier("1.1");
168 oSetResponseMsgRequest.getQualifiedPatientIdentifier().setSubjectIdentifier("1");
169 oSetResponseMsgRequest.setAdhocQueryResponse(oAdhocQueryResponse);
170 oSetResponseMsgResponse = oAggregator.setResponseMsgDocQuery(oSetResponseMsgRequest);
171 assertNotNull(oSetResponseMsgResponse);
172 assertNotNull(oSetResponseMsgResponse.getStatus());
173 assertEquals("SetResponseMsg.Status:", oSetResponseMsgResponse.getStatus(), "SUCCESS");
174
175 // Message 2
176 //----------
177 oSetResponseMsgRequest = new SetResponseMsgDocQueryRequestType();
178 oSetResponseMsgRequest.setTransactionId(sTransactionId);
179 oSetResponseMsgRequest.setHomeCommunityId(sHomeCommunityId);
180 oSetResponseMsgRequest.setQualifiedPatientIdentifier(new QualifiedSubjectIdentifierType());
181 oSetResponseMsgRequest.getQualifiedPatientIdentifier().setAssigningAuthorityIdentifier("1.1");
182 oSetResponseMsgRequest.getQualifiedPatientIdentifier().setSubjectIdentifier("2");
183 oSetResponseMsgRequest.setAdhocQueryResponse(oAdhocQueryResponse);
184 oAggregator.setResponseMsgDocQuery(oSetResponseMsgRequest);
185 assertNotNull(oSetResponseMsgResponse);
186 assertNotNull(oSetResponseMsgResponse.getStatus());
187 assertEquals("SetResponseMsg.Status:", oSetResponseMsgResponse.getStatus(), "SUCCESS");
188
189 // Message 3
190 //----------
191 oSetResponseMsgRequest = new SetResponseMsgDocQueryRequestType();
192 oSetResponseMsgRequest.setTransactionId(sTransactionId);
193 oSetResponseMsgRequest.setHomeCommunityId(sHomeCommunityId);
194 oSetResponseMsgRequest.setQualifiedPatientIdentifier(new QualifiedSubjectIdentifierType());
195 oSetResponseMsgRequest.getQualifiedPatientIdentifier().setAssigningAuthorityIdentifier("1.1");
196 oSetResponseMsgRequest.getQualifiedPatientIdentifier().setSubjectIdentifier("3");
197 oSetResponseMsgRequest.setAdhocQueryResponse(oAdhocQueryResponse);
198 oAggregator.setResponseMsgDocQuery(oSetResponseMsgRequest);
199 assertNotNull(oSetResponseMsgResponse);
200 assertNotNull(oSetResponseMsgResponse.getStatus());
201 assertEquals("SetResponseMsg.Status:", oSetResponseMsgResponse.getStatus(), "SUCCESS");
202
203 System.out.println("Done adding response messages starting transaction...");
204
205 GetAggResultsDocQueryRequestType oGetAggResultsDocQueryRequest = new GetAggResultsDocQueryRequestType();
206 oGetAggResultsDocQueryRequest.setTimedOut(false);
207 oGetAggResultsDocQueryRequest.setTransactionId(sTransactionId);
208 GetAggResultsDocQueryResponseType oGetAggResultsDocQueryResponse = null;
209 oGetAggResultsDocQueryResponse = oAggregator.getAggResultsDocQuery(oGetAggResultsDocQueryRequest);
210 assertNotNull("GetAggResultsDocQueryResponse:", oGetAggResultsDocQueryResponse);
211 assertEquals("oGetAggResultsDocQueryResponse.getStatus():", oGetAggResultsDocQueryResponse.getStatus(), "COMPLETE");
212 assertNotNull("oGetAggResultsDocQueryResponse.getAdhocQueryResponse():", oGetAggResultsDocQueryResponse.getAdhocQueryResponse());
213 assertNotNull("RegistryObjectList:", oGetAggResultsDocQueryResponse.getAdhocQueryResponse().getRegistryObjectList());
214 assertNotNull("Identifiable:", oGetAggResultsDocQueryResponse.getAdhocQueryResponse().getRegistryObjectList().getIdentifiable());
215 assertEquals("Identifiable.size():", oGetAggResultsDocQueryResponse.getAdhocQueryResponse().getRegistryObjectList().getIdentifiable().size(), 9);
216
217 System.out.println("Completed testDocQueryFullTransactionProcess");
218 }
219
220 /**
221 * Now lets make sure the time out function works... To do this we will create a transaction with two results.
222 * we will then set response only to one, and see what happens if we call for the results first with
223 * the timedOut = false and then second with the timedOut = true.
224 */
225 @Test
226 public void testDocQueryFullTransactionUsingTimeout()
227 {
228 System.out.println("Start testDocQueryFullTransactionUsingTimeout");
229
230 System.out.println("Starting transaction...");
231
232 AssigningAuthorityHomeCommunityMappingDAO mappingDao = new AssigningAuthorityHomeCommunityMappingDAO();
233 String sHomeCommunityId = mappingDao.getHomeCommunityId("1.1");
234
235 StartTransactionDocQueryRequestType oRequest = new StartTransactionDocQueryRequestType();
236 oRequest.setQualifiedPatientIdentifiers(new QualifiedSubjectIdentifiersType());
237
238 QualifiedSubjectIdentifierType oId = new QualifiedSubjectIdentifierType();
239 oRequest.getQualifiedPatientIdentifiers().getQualifiedSubjectIdentifier().add(oId);
240 oId.setAssigningAuthorityIdentifier("1.1");
241 oId.setSubjectIdentifier("1");
242
243 oId = new QualifiedSubjectIdentifierType();
244 oRequest.getQualifiedPatientIdentifiers().getQualifiedSubjectIdentifier().add(oId);
245 oId.setAssigningAuthorityIdentifier("1.1");
246 oId.setSubjectIdentifier("2");
247
248 NhincComponentAggregator oAggregator = new NhincComponentAggregator();
249
250 StartTransactionDocQueryResponseType oStartTransactResponse = null;
251 oStartTransactResponse = oAggregator.startTransactionDocQuery(oRequest);
252 assertNotNull(oStartTransactResponse);
253 assertNotSame("TransactionId:", oStartTransactResponse.getTransactionId(), "");
254 String sTransactionId = oStartTransactResponse.getTransactionId();
255
256 System.out.println("Done starting transaction...");
257
258 System.out.println("Adding response for first message...");
259
260 AdhocQueryResponse oAdhocQueryResponse = createAdhocQueryResponse();
261 SetResponseMsgDocQueryResponseType oSetResponseMsgResponse = null;
262 // Message 1
263 //----------
264 SetResponseMsgDocQueryRequestType oSetResponseMsgRequest = new SetResponseMsgDocQueryRequestType();
265 oSetResponseMsgRequest.setTransactionId(sTransactionId);
266 oSetResponseMsgRequest.setHomeCommunityId(sHomeCommunityId);
267 oSetResponseMsgRequest.setQualifiedPatientIdentifier(new QualifiedSubjectIdentifierType());
268 oSetResponseMsgRequest.getQualifiedPatientIdentifier().setAssigningAuthorityIdentifier("1.1");
269 oSetResponseMsgRequest.getQualifiedPatientIdentifier().setSubjectIdentifier("1");
270 oSetResponseMsgRequest.setAdhocQueryResponse(oAdhocQueryResponse);
271 oSetResponseMsgResponse = oAggregator.setResponseMsgDocQuery(oSetResponseMsgRequest);
272 assertNotNull(oSetResponseMsgResponse);
273 assertNotNull(oSetResponseMsgResponse.getStatus());
274 assertEquals("SetResponseMsg.Status:", oSetResponseMsgResponse.getStatus(), "SUCCESS");
275
276 System.out.println("Done adding response for first message...");
277
278 System.out.println("Calling for results with timedOut = false...");
279
280 GetAggResultsDocQueryRequestType oGetAggResultsDocQueryRequest = new GetAggResultsDocQueryRequestType();
281 oGetAggResultsDocQueryRequest.setTimedOut(false);
282 oGetAggResultsDocQueryRequest.setTransactionId(sTransactionId);
283 GetAggResultsDocQueryResponseType oGetAggResultsDocQueryResponse = null;
284 oGetAggResultsDocQueryResponse = oAggregator.getAggResultsDocQuery(oGetAggResultsDocQueryRequest);
285 assertNotNull("GetAggResultsDocQueryResponse:", oGetAggResultsDocQueryResponse);
286 assertEquals("oGetAggResultsDocQueryResponse.getStatus():", oGetAggResultsDocQueryResponse.getStatus(), "PENDING");
287 assertNull("oGetAggResultsDocQueryResponse.getAdhocQueryResponse():", oGetAggResultsDocQueryResponse.getAdhocQueryResponse());
288
289 System.out.println("Done calling for results with timedOut = false...");
290
291 System.out.println("Calling for results with timedOut = true...");
292
293 oGetAggResultsDocQueryRequest = new GetAggResultsDocQueryRequestType();
294 oGetAggResultsDocQueryRequest.setTimedOut(true);
295 oGetAggResultsDocQueryRequest.setTransactionId(sTransactionId);
296 oGetAggResultsDocQueryResponse = null;
297 oGetAggResultsDocQueryResponse = oAggregator.getAggResultsDocQuery(oGetAggResultsDocQueryRequest);
298 assertNotNull("GetAggResultsDocQueryResponse:", oGetAggResultsDocQueryResponse);
299 assertEquals("oGetAggResultsDocQueryResponse.getStatus():", oGetAggResultsDocQueryResponse.getStatus(), "COMPLETE");
300 assertNotNull("oGetAggResultsDocQueryResponse.getAdhocQueryResponse():", oGetAggResultsDocQueryResponse.getAdhocQueryResponse());
301 assertNotNull("RegistryObjectList:", oGetAggResultsDocQueryResponse.getAdhocQueryResponse().getRegistryObjectList());
302 assertNotNull("Identifiable:", oGetAggResultsDocQueryResponse.getAdhocQueryResponse().getRegistryObjectList().getIdentifiable());
303 assertEquals("Identifiable.size():", oGetAggResultsDocQueryResponse.getAdhocQueryResponse().getRegistryObjectList().getIdentifiable().size(), 3);
304
305 System.out.println("Done calling for results with timedOut = true...");
306
307 System.out.println("Completed testDocQueryFullTransactionUsingTimeout");
308
309 }
310
311 /**
312 * Test of DocRetrieve -full cycle through the aggregator.
313 */
314 @Test
315 public void testDocRetrieveFullTransactionProcess()
316 {
317 System.out.println("Start testDocRetrieveFullTransactionProcess");
318
319 System.out.println("Starting transaction...");
320
321 StartTransactionDocRetrieveRequestType oRequest = new StartTransactionDocRetrieveRequestType();
322 oRequest.setRetrieveDocumentSetRequest(new RetrieveDocumentSetRequestType());
323 List<DocumentRequest> olDocRequest = oRequest.getRetrieveDocumentSetRequest().getDocumentRequest();
324
325 DocumentRequest oDocRequest = new DocumentRequest();
326 olDocRequest.add(oDocRequest);
327 oDocRequest.setHomeCommunityId("1.1");
328 oDocRequest.setRepositoryUniqueId("1.2");
329 oDocRequest.setDocumentUniqueId("1.3");
330
331 oDocRequest = new DocumentRequest();
332 olDocRequest.add(oDocRequest);
333 oDocRequest.setHomeCommunityId("2.1");
334 oDocRequest.setRepositoryUniqueId("2.2");
335 oDocRequest.setDocumentUniqueId("2.3");
336
337 oDocRequest = new DocumentRequest();
338 olDocRequest.add(oDocRequest);
339 oDocRequest.setHomeCommunityId("3.1");
340 oDocRequest.setRepositoryUniqueId("3.2");
341 oDocRequest.setDocumentUniqueId("3.3");
342
343 NhincComponentAggregator oAggregator = new NhincComponentAggregator();
344
345 StartTransactionDocRetrieveResponseType oStartTransactResponse = null;
346 oStartTransactResponse = oAggregator.startTransactionDocRetrieve(oRequest);
347 assertNotNull(oStartTransactResponse);
348 assertNotSame("TransactionId:", oStartTransactResponse.getTransactionId(), "");
349 String sTransactionId = oStartTransactResponse.getTransactionId();
350
351 System.out.println("Done starting transaction...");
352
353 System.out.println("Adding response messages starting transaction...");
354
355 RetrieveDocumentSetResponseType oRetrieveDocumentSetResponse = createRetrieveDocumentSetResponse();
356 SetResponseMsgDocRetrieveResponseType oSetResponseMsgResponse = null;
357
358 // Message 1
359 //----------
360 SetResponseMsgDocRetrieveRequestType oSetResponseMsgRequest = new SetResponseMsgDocRetrieveRequestType();
361 oSetResponseMsgRequest.setTransactionId(sTransactionId);
362 oSetResponseMsgRequest.setHomeCommunityId("1.1");
363 oSetResponseMsgRequest.setRepositoryUniqueId("1.2");
364 oSetResponseMsgRequest.setDocumentUniqueId("1.3");
365 oSetResponseMsgRequest.setRetrieveDocumentSetResponse(oRetrieveDocumentSetResponse);
366 oSetResponseMsgResponse = oAggregator.setResponseMsgDocRetrieve(oSetResponseMsgRequest);
367 assertNotNull(oSetResponseMsgResponse);
368 assertNotNull(oSetResponseMsgResponse.getStatus());
369 assertEquals("SetResponseMsg.Status:", oSetResponseMsgResponse.getStatus(), "SUCCESS");
370
371 // Message 2
372 //----------
373 oSetResponseMsgRequest = new SetResponseMsgDocRetrieveRequestType();
374 oSetResponseMsgRequest.setTransactionId(sTransactionId);
375 oSetResponseMsgRequest.setHomeCommunityId("2.1");
376 oSetResponseMsgRequest.setRepositoryUniqueId("2.2");
377 oSetResponseMsgRequest.setDocumentUniqueId("2.3");
378 oSetResponseMsgRequest.setRetrieveDocumentSetResponse(oRetrieveDocumentSetResponse);
379 oSetResponseMsgResponse = oAggregator.setResponseMsgDocRetrieve(oSetResponseMsgRequest);
380 assertNotNull(oSetResponseMsgResponse);
381 assertNotNull(oSetResponseMsgResponse.getStatus());
382 assertEquals("SetResponseMsg.Status:", oSetResponseMsgResponse.getStatus(), "SUCCESS");
383
384 // Message 3
385 //----------
386 oSetResponseMsgRequest = new SetResponseMsgDocRetrieveRequestType();
387 oSetResponseMsgRequest.setTransactionId(sTransactionId);
388 oSetResponseMsgRequest.setHomeCommunityId("3.1");
389 oSetResponseMsgRequest.setRepositoryUniqueId("3.2");
390 oSetResponseMsgRequest.setDocumentUniqueId("3.3");
391 oSetResponseMsgRequest.setRetrieveDocumentSetResponse(oRetrieveDocumentSetResponse);
392 oSetResponseMsgResponse = oAggregator.setResponseMsgDocRetrieve(oSetResponseMsgRequest);
393 assertNotNull(oSetResponseMsgResponse);
394 assertNotNull(oSetResponseMsgResponse.getStatus());
395 assertEquals("SetResponseMsg.Status:", oSetResponseMsgResponse.getStatus(), "SUCCESS");
396
397 System.out.println("Done adding response messages starting transaction...");
398
399 GetAggResultsDocRetrieveRequestType oGetAggResultsDocRetrieveRequest = new GetAggResultsDocRetrieveRequestType();
400 oGetAggResultsDocRetrieveRequest.setTimedOut(false);
401 oGetAggResultsDocRetrieveRequest.setTransactionId(sTransactionId);
402 GetAggResultsDocRetrieveResponseType oGetAggResultsDocRetrieveResponse = null;
403 oGetAggResultsDocRetrieveResponse = oAggregator.getAggResultsDocRetrieve(oGetAggResultsDocRetrieveRequest);
404 assertNotNull("GetAggResultsDocRetrieveResponse:", oGetAggResultsDocRetrieveResponse);
405 assertEquals("oGetAggResultsDocRetrieveResponse.getStatus():", oGetAggResultsDocRetrieveResponse.getStatus(), "COMPLETE");
406 assertNotNull("oGetAggResultsDocRetrieveResponse.getRetrieveDocumentSetResponse():", oGetAggResultsDocRetrieveResponse.getRetrieveDocumentSetResponse());
407 assertNotNull("DocumentResponse:", oGetAggResultsDocRetrieveResponse.getRetrieveDocumentSetResponse().getDocumentResponse());
408 assertEquals("DocumentResponse.size():", oGetAggResultsDocRetrieveResponse.getRetrieveDocumentSetResponse().getDocumentResponse().size(), 3);
409
410 System.out.println("Completed testFullTransactionProcess");
411 }
412
413 /**
414 * Now lets make sure the time out function works... To do this we will create a transaction with two results.
415 * we will then set response only to one, and see what happens if we call for the results first with
416 * the timedOut = false and then second with the timedOut = true.
417 */
418 @Test
419 public void testDocRetrieveFullTransactionUsingTimeout()
420 {
421 System.out.println("Start testDocRetrieveFullTransactionUsingTimeout");
422
423 System.out.println("Starting transaction...");
424
425 StartTransactionDocRetrieveRequestType oRequest = new StartTransactionDocRetrieveRequestType();
426 oRequest.setRetrieveDocumentSetRequest(new RetrieveDocumentSetRequestType());
427 List<DocumentRequest> olDocRequest = oRequest.getRetrieveDocumentSetRequest().getDocumentRequest();
428
429 DocumentRequest oDocRequest = new DocumentRequest();
430 olDocRequest.add(oDocRequest);
431 oDocRequest.setHomeCommunityId("1.1");
432 oDocRequest.setRepositoryUniqueId("1.2");
433 oDocRequest.setDocumentUniqueId("1.3");
434
435 oDocRequest = new DocumentRequest();
436 olDocRequest.add(oDocRequest);
437 oDocRequest.setHomeCommunityId("2.1");
438 oDocRequest.setRepositoryUniqueId("2.2");
439 oDocRequest.setDocumentUniqueId("2.3");
440
441 oDocRequest = new DocumentRequest();
442 olDocRequest.add(oDocRequest);
443 oDocRequest.setHomeCommunityId("3.1");
444 oDocRequest.setRepositoryUniqueId("3.2");
445 oDocRequest.setDocumentUniqueId("3.3");
446
447 NhincComponentAggregator oAggregator = new NhincComponentAggregator();
448
449 StartTransactionDocRetrieveResponseType oStartTransactResponse = null;
450 oStartTransactResponse = oAggregator.startTransactionDocRetrieve(oRequest);
451 assertNotNull(oStartTransactResponse);
452 assertNotSame("TransactionId:", oStartTransactResponse.getTransactionId(), "");
453 String sTransactionId = oStartTransactResponse.getTransactionId();
454
455 System.out.println("Done starting transaction...");
456
457 System.out.println("Adding response messages starting transaction...");
458
459 RetrieveDocumentSetResponseType oRetrieveDocumentSetResponse = createRetrieveDocumentSetResponse();
460 SetResponseMsgDocRetrieveResponseType oSetResponseMsgResponse = null;
461
462 // Message 1
463 //----------
464 SetResponseMsgDocRetrieveRequestType oSetResponseMsgRequest = new SetResponseMsgDocRetrieveRequestType();
465 oSetResponseMsgRequest.setTransactionId(sTransactionId);
466 oSetResponseMsgRequest.setHomeCommunityId("1.1");
467 oSetResponseMsgRequest.setRepositoryUniqueId("1.2");
468 oSetResponseMsgRequest.setDocumentUniqueId("1.3");
469 oSetResponseMsgRequest.setRetrieveDocumentSetResponse(oRetrieveDocumentSetResponse);
470 oSetResponseMsgResponse = oAggregator.setResponseMsgDocRetrieve(oSetResponseMsgRequest);
471 assertNotNull(oSetResponseMsgResponse);
472 assertNotNull(oSetResponseMsgResponse.getStatus());
473 assertEquals("SetResponseMsg.Status:", oSetResponseMsgResponse.getStatus(), "SUCCESS");
474
475 System.out.println("Done adding response messages starting transaction...");
476
477 System.out.println("Calling for results with timedOut = false...");
478
479 GetAggResultsDocRetrieveRequestType oGetAggResultsDocRetrieveRequest = new GetAggResultsDocRetrieveRequestType();
480 oGetAggResultsDocRetrieveRequest.setTimedOut(false);
481 oGetAggResultsDocRetrieveRequest.setTransactionId(sTransactionId);
482 GetAggResultsDocRetrieveResponseType oGetAggResultsDocRetrieveResponse = null;
483 oGetAggResultsDocRetrieveResponse = oAggregator.getAggResultsDocRetrieve(oGetAggResultsDocRetrieveRequest);
484 assertNotNull("GetAggResultsDocRetrieveResponse:", oGetAggResultsDocRetrieveResponse);
485 assertEquals("oGetAggResultsDocRetrieveResponse.getStatus():", oGetAggResultsDocRetrieveResponse.getStatus(), "PENDING");
486 assertNull("oGetAggResultsDocRetrieveResponse.getRetrieveDocumentSetResponse():", oGetAggResultsDocRetrieveResponse.getRetrieveDocumentSetResponse());
487
488 System.out.println("Done calling for results with timedOut = false...");
489
490 System.out.println("Calling for results with timedOut = true...");
491
492 oGetAggResultsDocRetrieveRequest = new GetAggResultsDocRetrieveRequestType();
493 oGetAggResultsDocRetrieveRequest.setTimedOut(true);
494 oGetAggResultsDocRetrieveRequest.setTransactionId(sTransactionId);
495 oGetAggResultsDocRetrieveResponse = null;
496 oGetAggResultsDocRetrieveResponse = oAggregator.getAggResultsDocRetrieve(oGetAggResultsDocRetrieveRequest);
497 assertNotNull("GetAggResultsDocRetrieveResponse:", oGetAggResultsDocRetrieveResponse);
498 assertEquals("oGetAggResultsDocRetrieveResponse.getStatus():", oGetAggResultsDocRetrieveResponse.getStatus(), "COMPLETE");
499 assertNotNull("oGetAggResultsDocRetrieveResponse.getRetrieveDocumentSetResponse():", oGetAggResultsDocRetrieveResponse.getRetrieveDocumentSetResponse());
500 assertNotNull("DocumentResponse:", oGetAggResultsDocRetrieveResponse.getRetrieveDocumentSetResponse().getDocumentResponse());
501 assertEquals("DocumentResponse.size():", oGetAggResultsDocRetrieveResponse.getRetrieveDocumentSetResponse().getDocumentResponse().size(), 1);
502
503 System.out.println("Done calling for results with timedOut = true...");
504
505 System.out.println("Completed testDocRetrieveFullTransactionUsingTimeout");
506 }
507
508}
Note: See TracBrowser for help on using the repository browser.