public void deleteISOCurrency(CFBamAuthorization Authorization, CFBamISOCurrencyBuff Buff) { final String S_ProcName = "CFBamRamISOCurrencyTable.deleteISOCurrency() "; CFBamISOCurrencyPKey pkey = schema.getFactoryISOCurrency().newPKey(); pkey.setRequiredId(Buff.getRequiredId()); CFBamISOCurrencyBuff existing = dictByPKey.get(pkey); if (existing == null) { return; } if (existing.getRequiredRevision() != Buff.getRequiredRevision()) { throw CFLib.getDefaultExceptionFactory() .newCollisionDetectedException(getClass(), "deleteISOCurrency", pkey); } CFBamISOCurrencyByCcyCdIdxKey keyCcyCdIdx = schema.getFactoryISOCurrency().newCcyCdIdxKey(); keyCcyCdIdx.setRequiredISOCode(existing.getRequiredISOCode()); CFBamISOCurrencyByCcyNmIdxKey keyCcyNmIdx = schema.getFactoryISOCurrency().newCcyNmIdxKey(); keyCcyNmIdx.setRequiredName(existing.getRequiredName()); // Validate reverse foreign keys // Delete is valid schema .getTableISOCountryCurrency() .deleteISOCountryCurrencyByCurrencyIdx(Authorization, Buff.getRequiredId()); Map<CFBamISOCurrencyPKey, CFBamISOCurrencyBuff> subdict; dictByPKey.remove(pkey); dictByCcyCdIdx.remove(keyCcyCdIdx); dictByCcyNmIdx.remove(keyCcyNmIdx); }
public void updateISOCurrency(CFBamAuthorization Authorization, CFBamISOCurrencyBuff Buff) { CFBamISOCurrencyPKey pkey = schema.getFactoryISOCurrency().newPKey(); pkey.setRequiredId(Buff.getRequiredId()); CFBamISOCurrencyBuff existing = dictByPKey.get(pkey); if (existing == null) { throw CFLib.getDefaultExceptionFactory() .newStaleCacheDetectedException( getClass(), "updateISOCurrency", "Existing record not found", "ISOCurrency", pkey); } if (existing.getRequiredRevision() != Buff.getRequiredRevision()) { throw CFLib.getDefaultExceptionFactory() .newCollisionDetectedException(getClass(), "updateISOCurrency", pkey); } Buff.setRequiredRevision(Buff.getRequiredRevision() + 1); CFBamISOCurrencyByCcyCdIdxKey existingKeyCcyCdIdx = schema.getFactoryISOCurrency().newCcyCdIdxKey(); existingKeyCcyCdIdx.setRequiredISOCode(existing.getRequiredISOCode()); CFBamISOCurrencyByCcyCdIdxKey newKeyCcyCdIdx = schema.getFactoryISOCurrency().newCcyCdIdxKey(); newKeyCcyCdIdx.setRequiredISOCode(Buff.getRequiredISOCode()); CFBamISOCurrencyByCcyNmIdxKey existingKeyCcyNmIdx = schema.getFactoryISOCurrency().newCcyNmIdxKey(); existingKeyCcyNmIdx.setRequiredName(existing.getRequiredName()); CFBamISOCurrencyByCcyNmIdxKey newKeyCcyNmIdx = schema.getFactoryISOCurrency().newCcyNmIdxKey(); newKeyCcyNmIdx.setRequiredName(Buff.getRequiredName()); // Check unique indexes if (!existingKeyCcyCdIdx.equals(newKeyCcyCdIdx)) { if (dictByCcyCdIdx.containsKey(newKeyCcyCdIdx)) { throw CFLib.getDefaultExceptionFactory() .newUniqueIndexViolationException( getClass(), "updateISOCurrency", "ISOCurrencyCodeIdx", newKeyCcyCdIdx); } } if (!existingKeyCcyNmIdx.equals(newKeyCcyNmIdx)) { if (dictByCcyNmIdx.containsKey(newKeyCcyNmIdx)) { throw CFLib.getDefaultExceptionFactory() .newUniqueIndexViolationException( getClass(), "updateISOCurrency", "ISOCurrencyNameIdx", newKeyCcyNmIdx); } } // Validate foreign keys // Update is valid Map<CFBamISOCurrencyPKey, CFBamISOCurrencyBuff> subdict; dictByPKey.remove(pkey); dictByPKey.put(pkey, Buff); dictByCcyCdIdx.remove(existingKeyCcyCdIdx); dictByCcyCdIdx.put(newKeyCcyCdIdx, Buff); dictByCcyNmIdx.remove(existingKeyCcyNmIdx); dictByCcyNmIdx.put(newKeyCcyNmIdx, Buff); }