protected int addReceiptSPAssociation(String receiptId, ReceiptServiceInput receiptServiceInput) throws ConsentManagementServerException { int receiptToSPAssocId; JdbcTemplate jdbcTemplate = JdbcUtils.getNewTemplate(); try { receiptToSPAssocId = jdbcTemplate.withTransaction(template -> template.executeInsert(INSERT_RECEIPT_SP_ASSOC_SQL, (preparedStatement -> { preparedStatement.setString(1, receiptId); preparedStatement.setString(2, receiptServiceInput.getService()); preparedStatement.setInt(3, receiptServiceInput.getTenantId()); preparedStatement.setString(4, receiptServiceInput.getSpDisplayName()); preparedStatement.setString(5, receiptServiceInput.getSpDescription()); }), receiptServiceInput, true)); } catch (TransactionException e) { throw ConsentUtils.handleServerException(ErrorMessages.ERROR_CODE_ADD_RECEIPT_SP_ASSOC, receiptServiceInput.getService(), e); } return receiptToSPAssocId; }
private void revokeActiveReceipts(ReceiptInput receiptInput) throws ConsentManagementServerException { JdbcTemplate jdbcTemplate = JdbcUtils.getNewTemplate(); try { jdbcTemplate.withTransaction(template -> { receiptInput.getServices().forEach(rethrowConsumer(receiptServiceInput -> { List<String> ids = template.executeQuery(GET_ACTIVE_RECEIPTS_SQL, (resultSet, rowNumber) -> resultSet .getString(1), preparedStatement -> { preparedStatement.setString(1, receiptInput.getPiiPrincipalId()); preparedStatement.setString(2, receiptServiceInput.getService()); preparedStatement.setInt(3, receiptInput.getTenantId()); preparedStatement.setInt(4, receiptServiceInput.getTenantId()); }); if (isNotEmpty(ids)) { ids.forEach(rethrowConsumer(id -> { revokeReceipt(id); if (log.isDebugEnabled()) { log.debug("Revoked active receipt: " + id + " of the user: " + receiptInput .getPiiPrincipalId()); } })); } })); return null; }); } catch (TransactionException e) { throw ConsentUtils.handleServerException(ErrorMessages.ERROR_CODE_REVOKE_ACTIVE_RECEIPT, receiptInput.getPiiPrincipalId(), e); } }
private void validateRequiredParametersInService(ReceiptServiceInput receiptServiceInput) throws ConsentManagementException { if (isBlank(receiptServiceInput.getService())) { throw handleClientException(ERROR_CODE_SERVICE_NAME_REQUIRED, null); } if (isEmpty(receiptServiceInput.getPurposes())) { throw handleClientException(ERROR_CODE_AT_LEAST_ONE_PURPOSE_REQUIRED, null); } // Set authenticated user's tenant id if it is not set. if (isBlank(receiptServiceInput.getTenantDomain())) { receiptServiceInput.setTenantId(getTenantIdFromCarbonContext()); receiptServiceInput.setTenantDomain(getTenantDomainFromCarbonContext()); } else { receiptServiceInput.setTenantId(getTenantId(realmService, receiptServiceInput.getTenantDomain())); } }
private void setIDPData(String tenantDomain, ReceiptServiceInput receiptServiceInput) throws IdentityProviderManagementException { IdentityProviderManager idpManager = IdentityProviderManager.getInstance(); IdentityProvider residentIdP = idpManager.getResidentIdP(tenantDomain); if (StringUtils.isEmpty(receiptServiceInput.getService())) { if (log.isDebugEnabled()) { log.debug("No service name found. Hence adding resident IDP home realm ID"); } receiptServiceInput.setService(residentIdP.getHomeRealmId()); } if (StringUtils.isEmpty(receiptServiceInput.getTenantDomain())) { receiptServiceInput.setTenantDomain(tenantDomain); } if (StringUtils.isEmpty(receiptServiceInput.getSpDescription())) { if (StringUtils.isNotEmpty(residentIdP.getIdentityProviderDescription())) { receiptServiceInput.setSpDescription(residentIdP.getIdentityProviderDescription()); } else { receiptServiceInput.setSpDescription(IdentityRecoveryConstants.Consent.RESIDENT_IDP); } } if (StringUtils.isEmpty(receiptServiceInput.getSpDisplayName())) { if (StringUtils.isNotEmpty(residentIdP.getDisplayName())) { receiptServiceInput.setSpDisplayName(residentIdP.getDisplayName()); } else { receiptServiceInput.setSpDisplayName(IdentityRecoveryConstants.Consent.RESIDENT_IDP); } } }
String.format(ErrorMessages.ERROR_WHILE_SETTING_IDP_DATA_IDP_IS_NULL.getMessage(), tenantDomain)); if (StringUtils.isEmpty(receiptServiceInput.getService())) { if (log.isDebugEnabled()) { log.debug("No service name found. Hence adding resident IDP home realm ID");
String.format(ErrorMessages.ERROR_WHILE_SETTING_IDP_DATA_IDP_IS_NULL.getMessage(), tenantDomain)); if (StringUtils.isEmpty(receiptServiceInput.getService())) { if (log.isDebugEnabled()) { log.debug("No service name found. Hence adding resident IDP home realm ID");
throws ConsentManagementException { String serviceName = receiptServiceInput.getService(); if (receiptPurposeInput.getPurposeId() == null) { throw handleClientException(ERROR_CODE_PURPOSE_ID_MANDATORY, serviceName);