/* * Guaranteed to throw an exception no matter what the data integrity issue * is. */ private void handleOfficeDataIntegrityIssues( final JsonCommand command, DataIntegrityViolationException dve) { Throwable realCause = dve.getMostSpecificCause(); if (realCause.getMessage().contains("externalid_org")) { final String externalId = command.stringValueOfParameterNamed("externalId"); throw new PlatformDataIntegrityException( "error.msg.office.duplicate.externalId", "Office with externalId `" + externalId + "` already exists", "externalId", externalId); } else if (realCause.getMessage().contains("name_org")) { final String name = command.stringValueOfParameterNamed("name"); throw new PlatformDataIntegrityException( "error.msg.office.duplicate.name", "Office with name `" + name + "` already exists", "name", name); } logger.error(dve.getMessage(), dve); throw new PlatformDataIntegrityException( "error.msg.office.unknown.data.integrity.issue", "Unknown data integrity issue with resource."); }
private void handleDataIntegrityIssues( final JsonCommand command, final DataIntegrityViolationException dve) { Throwable realCause = dve.getMostSpecificCause(); if (realCause.getMessage().contains("external_id")) { final String externalId = command.stringValueOfParameterNamed("externalId"); throw new PlatformDataIntegrityException( "error.msg.client.duplicate.externalId", "Client with externalId `" + externalId + "` already exists", "externalId", externalId); } else if (realCause.getMessage().contains("account_no_UNIQUE")) { final String accountNo = command.stringValueOfParameterNamed("accountNo"); throw new PlatformDataIntegrityException( "error.msg.client.duplicate.accountNo", "Client with accountNo `" + accountNo + "` already exists", "accountNo", accountNo); } else if (realCause.getMessage().contains("email_key")) { final String email = command.stringValueOfParameterNamed("email"); throw new PlatformDataIntegrityException( "error.msg.client.duplicate.email", "Client with email `" + email + "` already exists", "email", email); } logAsErrorUnexpectedDataIntegrityException(dve); throw new PlatformDataIntegrityException( "error.msg.client.unknown.data.integrity.issue", "Unknown data integrity issue with resource."); }
private void handleCodeDataIntegrityIssues( JsonCommand command, DataIntegrityViolationException dve) { Throwable realCause = dve.getMostSpecificCause(); LOGGER.error(dve.getMessage(), dve); throw new PlatformDataIntegrityException( "error.msg.cund.unknown.data.integrity.issue", "Unknown data integrity issue with resource: " + realCause.getMessage()); }
private void handleCodeDataIntegrityIssues( JsonCommand command, DataIntegrityViolationException dve) { Throwable realCause = dve.getMostSpecificCause(); if (realCause.getMessage().contains("title_UNIQUE")) { throw new PlatformDataIntegrityException( "game already exist", "game already exist", "game already exist", ""); } }
private void handleDataIntegrityIssues( final JsonCommand element, final DataIntegrityViolationException dve) { Throwable realCause = dve.getMostSpecificCause(); if (realCause.getMessage().contains("UK_PRICING_COMPKEY")) { throw new PlatformDataIntegrityException( "event.pricing.price.already.exist", "event.pricing.price.already.exist", "event.pricing.price.already.exist", ""); } logger.error(dve.getMessage(), dve); }
private void handleDataIntegrityIssues( final JsonCommand element, final DataIntegrityViolationException dve) { Throwable realCause = dve.getMostSpecificCause(); if (realCause.getMessage().contains("serial_no_constraint")) { throw new PlatformDataIntegrityException( "validation.error.msg.inventory.item.duplicate.serialNumber", "validation.error.msg.inventory.item.duplicate.serialNumber", "validation.error.msg.inventory.item.duplicate.serialNumber", ""); } LOGGER.error(dve.getMessage(), dve); }
/** * @param command * @param dve */ private void handleGLClosureIntegrityIssues( final JsonCommand command, final DataIntegrityViolationException dve) { final Throwable realCause = dve.getMostSpecificCause(); if (realCause.getMessage().contains("office_id_closing_date")) { throw new GLClosureDuplicateException( command.longValueOfParameterNamed(GLClosureJsonInputParams.OFFICE_ID.getValue()), new LocalDate( command.DateValueOfParameterNamed(GLClosureJsonInputParams.CLOSING_DATE.getValue()))); } logger.error(dve.getMessage(), dve); throw new PlatformDataIntegrityException( "error.msg.glClosure.unknown.data.integrity.issue", "Unknown data integrity issue with resource GL Closure: " + realCause.getMessage()); }
private void handleHookDataIntegrityIssues( final JsonCommand command, final DataIntegrityViolationException dve) { final Throwable realCause = dve.getMostSpecificCause(); if (realCause.getMessage().contains("hook_name")) { final String name = command.stringValueOfParameterNamed("name"); throw new PlatformDataIntegrityException( "error.msg.hook.duplicate.name", "A hook with name '" + name + "' already exists", "name", name); } throw new PlatformDataIntegrityException( "error.msg.unknown.data.integrity.issue", "Unknown data integrity issue with resource: " + realCause.getMessage()); }
/* * Guaranteed to throw an exception no matter what the data integrity issue * is. */ private void handleDataIntegrityIssues( final DepositAccountCommand command, final DataIntegrityViolationException dve) { Throwable realCause = dve.getMostSpecificCause(); if (realCause.getMessage().contains("deposit_acc_external_id")) { throw new PlatformDataIntegrityException( "error.msg.desposit.account.duplicate.externalId", "Deposit account with externalId " + command.getExternalId() + " already exists", "externalId", command.getExternalId()); } logger.error(dve.getMessage(), dve); throw new PlatformDataIntegrityException( "error.msg.deposit.account.unknown.data.integrity.issue", "Unknown data integrity issue with resource."); }
private void handleDataIntegrityIssues( final JsonCommand command, final DataIntegrityViolationException dve) { final Throwable realCause = dve.getMostSpecificCause(); if (realCause.getMessage().contains("holiday_name")) { final String name = command.stringValueOfParameterNamed("name"); throw new PlatformDataIntegrityException( "error.msg.holiday.duplicate.name", "Holiday with name `" + name + "` already exists", "name", name); } logger.error(dve.getMessage(), dve); throw new PlatformDataIntegrityException( "error.msg.office.unknown.data.integrity.issue", "Unknown data integrity issue with resource."); }
@Transactional @Override @CacheEvict(value = "hooks", allEntries = true) public CommandProcessingResult deleteHook(final Long hookId) { this.context.authenticatedUser(); final Hook hook = retrieveHookBy(hookId); try { this.hookRepository.delete(hook); this.hookRepository.flush(); } catch (final DataIntegrityViolationException e) { throw new PlatformDataIntegrityException( "error.msg.unknown.data.integrity.issue", "Unknown data integrity issue with resource: " + e.getMostSpecificCause()); } return new CommandProcessingResultBuilder().withEntityId(hookId).build(); }
private void handleDataIntegrityIssues( final JsonCommand command, final DataIntegrityViolationException dve) { final Throwable realCause = dve.getMostSpecificCause(); LOGGER.error(dve.getMessage(), dve); if (realCause.getMessage().contains("taxcode")) { throw new PlatformDataIntegrityException( "validation.error.msg.taxmap.taxcode.duplicate", "A taxcode with name'" + command.stringValueOfParameterNamed("taxCode") + "'already exists", command.stringValueOfParameterNamed("taxCode")); } else { throw new PlatformDataIntegrityException( "error.msg.could.unknown.data.integrity.issue", "Unknown data integrity issue with resource: " + dve.getMessage()); } }
/* * Guaranteed to throw an exception no matter what the data integrity issue * is. */ private void handleDataIntegrityIssues( final JsonCommand command, final DataIntegrityViolationException dve) { final Throwable realCause = dve.getMostSpecificCause(); if (realCause.getMessage().contains("username_org")) { final String username = command.stringValueOfParameterNamed("username"); final StringBuilder defaultMessageBuilder = new StringBuilder("User with username ").append(username).append(" already exists."); throw new PlatformDataIntegrityException( "error.msg.user.duplicate.username", defaultMessageBuilder.toString(), "username", username); } logger.error(dve.getMessage(), dve); throw new PlatformDataIntegrityException( "error.msg.unknown.data.integrity.issue", "Unknown data integrity issue with resource."); }
@Transactional @Override public void registerDatatable(final String dataTableName, final String applicationTableName) { // FIXME - KW - hardcoded supported app tables are m_loan or m_client? validateAppTable(applicationTableName); final String registerDatatableSql = "insert into x_registered_table (registered_table_name, application_table_name) values ('" + dataTableName + "', '" + applicationTableName + "')"; final String createPermission = "'CREATE_" + dataTableName + "'"; final String createPermissionChecker = "'CREATE_" + dataTableName + "_CHECKER'"; final String readPermission = "'READ_" + dataTableName + "'"; final String updatePermission = "'UPDATE_" + dataTableName + "'"; final String updatePermissionChecker = "'UPDATE_" + dataTableName + "_CHECKER'"; final String deletePermission = "'DELETE_" + dataTableName + "'"; final String deletePermissionChecker = "'DELETE_" + dataTableName + "_CHECKER'"; final String permissionsSql = "insert into m_permission (grouping, code, action_name, entity_name, can_maker_checker) values " + "('datatable', " + createPermission + ", 'CREATE', '" + dataTableName + "', true)," + "('datatable', " + createPermissionChecker + ", 'CREATE', '" + dataTableName + "', false)," + "('datatable', " + readPermission + ", 'READ', '" + dataTableName + "', false)," + "('datatable', " + updatePermission + ", 'UPDATE', '" + dataTableName + "', true)," + "('datatable', " + updatePermissionChecker + ", 'UPDATE', '" + dataTableName + "', false)," + "('datatable', " + deletePermission + ", 'DELETE', '" + dataTableName + "', true)," + "('datatable', " + deletePermissionChecker + ", 'DELETE', '" + dataTableName + "', false)"; try { String[] sqlArray = {registerDatatableSql, permissionsSql}; this.jdbcTemplate.batchUpdate(sqlArray); } catch (DataIntegrityViolationException dve) { Throwable realCause = dve.getMostSpecificCause(); // even if duplicate is only due to permission duplicate, okay to show duplicate datatable // error msg if (realCause.getMessage().contains("Duplicate entry")) { throw new PlatformDataIntegrityException( "error.msg.datatable.registered", "Datatable `" + dataTableName + "` is already registered against an application table.", "dataTableName", dataTableName); } logAsErrorUnexpectedDataIntegrityException(dve); throw new PlatformDataIntegrityException( "error.msg.unknown.data.integrity.issue", "Unknown data integrity issue with resource."); } }