private List<PIICategoryValidity> getPIICategoryInfoOfPurpose(int serviceToPurposeId, String consentReceiptId,
ReceiptContext receiptContext) throws
ConsentManagementServerException {
JdbcTemplate jdbcTemplate = JdbcUtils.getNewTemplate();
try {
return jdbcTemplate.withTransaction(template -> template.executeQuery(GET_PII_CAT_SQL,
((resultSet, rowNumber) -> {
String name = resultSet.getString(1);
boolean isSensitive = resultSet.getInt(2) == 1;
String validity = resultSet.getString(3);
int id = resultSet.getInt(4);
String displayName = resultSet.getString(5);
if (isSensitive) {
receiptContext.getSecretPIICategory().addSecretCategory(name);
}
return new PIICategoryValidity(name, validity, id, displayName);
}), preparedStatement -> preparedStatement.setInt(1, serviceToPurposeId)));
} catch (TransactionException e) {
throw ConsentUtils.handleServerException(ErrorMessages.ERROR_CODE_RETRIEVE_RECEIPT_INFO,
consentReceiptId, e);
}
}