protected int addSpToPurposeAssociation(int receiptToSPAssocId, ReceiptPurposeInput receiptPurposeInput) throws ConsentManagementServerException { int spToPurposeAssocId; JdbcTemplate jdbcTemplate = JdbcUtils.getNewTemplate(); try { spToPurposeAssocId = jdbcTemplate.withTransaction(template -> template.executeInsert(INSERT_SP_TO_PURPOSE_ASSOC_SQL, (preparedStatement -> { preparedStatement.setInt(1, receiptToSPAssocId); preparedStatement.setInt(2, receiptPurposeInput.getPurposeId()); preparedStatement.setString(3, receiptPurposeInput.getConsentType()); preparedStatement.setInt(4, receiptPurposeInput.isPrimaryPurpose() ? 1 : 0); preparedStatement.setString(5, receiptPurposeInput.getTermination()); preparedStatement.setInt(6, receiptPurposeInput.isThirdPartyDisclosure() ? 1 : 0); preparedStatement.setString(7, receiptPurposeInput.getThirdPartyName()); }), receiptPurposeInput, true)); } catch (TransactionException e) { throw ConsentUtils.handleServerException(ErrorMessages.ERROR_CODE_ADD_SP_TO_PURPOSE_ASSOC, String.valueOf(receiptPurposeInput.getPurposeName()), e); } return spToPurposeAssocId; }
/** * If the consent is not given for a PII * * @param keySet * @param receipt * @return * @throws ConsentUtilityServiceException */ public Set<String> filterPIIsFromReceipt(Set<String> keySet, ReceiptInput receipt) throws ConsentUtilityServiceException { if (keySet == null || receipt == null) { throw new ConsentUtilityServiceException("Key set and receipt should not be null"); } List<ReceiptServiceInput> services = receipt.getServices(); Set<String> consentedPIIs = new HashSet<>(); for (ReceiptServiceInput service : services) { List<ReceiptPurposeInput> purposes = service.getPurposes(); for (ReceiptPurposeInput consentPurpose : purposes) { List<PIICategoryValidity> piiCategories = consentPurpose.getPiiCategory(); for (PIICategoryValidity piiCategory : piiCategories) { consentedPIIs.add(getPIIName(consentPurpose.getPurposeId(), piiCategory.getId())); } } } keySet.retainAll(consentedPIIs); return keySet; }
/** * If the consent is not given for a PII * * @param keySet * @param receipt * @return * @throws ConsentUtilityServiceException */ public Set<String> filterPIIsFromReceipt(Set<String> keySet, ReceiptInput receipt) throws ConsentUtilityServiceException { if (keySet == null || receipt == null) { throw new ConsentUtilityServiceException("Key set and receipt should not be null"); } List<ReceiptServiceInput> services = receipt.getServices(); Set<String> consentedPIIs = new HashSet<>(); for (ReceiptServiceInput service : services) { List<ReceiptPurposeInput> purposes = service.getPurposes(); for (ReceiptPurposeInput consentPurpose : purposes) { List<PIICategoryValidity> piiCategories = consentPurpose.getPiiCategory(); for (PIICategoryValidity piiCategory : piiCategories) { consentedPIIs.add(getPIIName(consentPurpose.getPurposeId(), piiCategory.getId())); } } } keySet.retainAll(consentedPIIs); return keySet; }
List<ReceiptPurposeInput> consentPurposes = service.getPurposes(); for (ReceiptPurposeInput consentPurpose : consentPurposes) { if (consentPurpose.getPurposeId() == purpose.getId()) { purposeConsented = true; List<PIICategoryValidity> pIICategories = consentPurpose.getPiiCategory();
List<ReceiptPurposeInput> consentPurposes = service.getPurposes(); for (ReceiptPurposeInput consentPurpose : consentPurposes) { if (consentPurpose.getPurposeId() == purpose.getId()) { purposeConsented = true; List<PIICategoryValidity> pIICategories = consentPurpose.getPiiCategory();
if (receiptPurposeInput.getPurposeId() == null) { throw handleClientException(ERROR_CODE_PURPOSE_ID_MANDATORY, serviceName); } else { Purpose purpose = getPurpose(receiptPurposeInput.getPurposeId()); receiptPurposeInput.setPurposeName(purpose.getName());