/* * (non-Javadoc) * * @see * gov.samhsa.consent2share.si.AbstractConsentMessageHandler#handleMessage * (java.lang.String) */ @Override public String handleMessage(String data) throws Throwable { String messageId = UUID.randomUUID().toString(); logger.debug("Consent Signed Message Received: ConsentId" + new String(data)); Long consentId = Long.parseLong(data); // Get consent SimpleConsentDto consentDto = consentGetter.getConsent(consentId); // Save to XDS.b repository RegistryResponse response = null; try { response = xdsbRepository.provideAndRegisterDocumentSet( consentDto.getConsent(), domainId, XdsbDocumentType.PRIVACY_CONSENT, null, null); audit(messageId, consentDto, response); } catch (Throwable e) { logger.error("Failed to save in xds.b repository", e); throw e; } if (!URN_RESPONSE_SUCCESS.equals(response.getStatus())) { String errorMessage = "Failed to save in XDS.b repository becuase response status is not " + URN_RESPONSE_SUCCESS; if (response.getRegistryErrorList() != null) logger.error(response.getRegistryErrorList().getRegistryError().get(0).getCodeContext()); logger.error(errorMessage); throw new Exception(errorMessage); } return "Saved in XDS.b repository"; }