XdsbRegistryAdapter { public List<String> extractSubmissionSetUniqueIds( AdhocQueryResponse response) throws XdsbRegistryAdapterException { try { List<String> submissionSetUniqueIdList = new LinkedList<String>(); String responseXml = this.marshaller.marshal(response); Document responseDoc = this.documentXmlConverter .loadDocument(responseXml); String xPathExpr = " NodeList nodeList = this.documentAccessor.getNodeList(responseDoc, xPathExpr.replace("$", UUID_XDS_SUBMISSION_SET_UNIQUEID)); for (int i = 0; i < nodeList.getLength(); i++) { submissionSetUniqueIdList.add(nodeList.item(i).getNodeValue()); } return submissionSetUniqueIdList; } catch (SimpleMarshallerException | DocumentAccessorException e) { throw new XdsbRegistryAdapterException(e); } } XdsbRegistryAdapter(XdsbRegistryWebServiceClient xdsbRegistry,
			AdhocQueryResponseFilter responseFilter,
			SimpleMarshaller marshaller,
			DocumentXmlConverter documentXmlConverter,
			DocumentAccessor documentAccessor); AdhocQueryResponse registryStoredQuery(
			AdhocQueryRequest adhocQueryRequest); AdhocQueryResponse registryStoredQuery(String patientId,
			String domainId, String authorId,
			XdsbDocumentType xdsbDocumentType, boolean serviceTimeAware,
			String messageId); AdhocQueryResponse registryStoredQuery(String patientUniqueId,
			String authorNPI, XdsbDocumentType xdsbDocumentType,
			boolean serviceTimeAware, String messageId); AdhocQueryResponse registryStoredQuery(AdhocQueryRequest req,
			String authorNPI, String messageId); List<String> findDeprecatedDocumentUniqueIds(
			String submissionSetPatientId, String submissionSetAuthorPerson,
			String messageId); AdhocQueryResponse findSubmissionSets(String submissionSetPatientId,
			String submissionSetAuthorPerson); AdhocQueryResponse getSubmissionSetAndContents(
			String submissionSetUniqueId, String messageId); List<String> extractSubmissionSetUniqueIds(
			AdhocQueryResponse response); String extractDeprecatedDocumentUniqueId(
			AdhocQueryResponse response, String messageId); List<XdsbDocumentReference> extractXdsbDocumentReferenceList(
			AdhocQueryResponse adhocQueryResponse); RetrieveDocumentSetRequest extractXdsbDocumentReferenceListAsRetrieveDocumentSetRequest(
			AdhocQueryResponse adhocQueryResponse); String extractPatientId(AdhocQueryRequest req); String extractFormatCode(AdhocQueryRequest req); String extractResponseOptionReturnType(AdhocQueryRequest req); String extractDocumentEntryStatus(AdhocQueryRequest req); String getPatientUniqueId(String patientId, String domainId); static final String FORMAT_CODE_CLINICAL_DOCUMENT; static final String FORMAT_CODE_PRIVACY_CONSENT; static final String SLOT_NAME_XDS_DOCUMENT_ENTRY_FORMAT_CODE; static final String SLOT_NAME_XDS_DOCUMENT_ENTRY_PATIENT_ID; static final String SLOT_NAME_XDS_DOCUMENT_ENTRY_STATUS; static final String UUID_XDS_DOCUMENTENTRY; static final String UUID_XDS_DOCUMENTENTRY_UNIQUEID; static final String UUID_XDS_DOCUMENTENTRY_AUTHOR; static final String UUID_XDS_SUBMISSION_SET_UNIQUEID; }
@Test public void testExtractSubmissionSetUniqueIds() throws Throwable { AdhocQueryResponse responseMock = mock(AdhocQueryResponse.class); String responseXmlMock = "responseXmlMock"; Document documentMock = mock(Document.class); NodeList nodeListMock = mock(NodeList.class); Node nodeMock = mock(Node.class); String nodeValueMock = "nodeValueMock"; when(marshallerMock.marshal(responseMock)).thenReturn(responseXmlMock); when(documentXmlConverterMock.loadDocument(responseXmlMock)) .thenReturn(documentMock); when(documentAccessorMock.getNodeList(eq(documentMock), anyString())) .thenReturn(nodeListMock); when(nodeListMock.getLength()).thenReturn(1); when(nodeListMock.item(0)).thenReturn(nodeMock); when(nodeMock.getNodeValue()).thenReturn(nodeValueMock); List<String> submissionSetUniqueIds = xdsbRegistryAdapterSpy .extractSubmissionSetUniqueIds(responseMock); assertTrue(submissionSetUniqueIds.contains(nodeValueMock)); }