in src/main/java/org/apache/fineract/cn/cassandra/core/TenantAwareCassandraMapperProvider.java [65:85]
public <T> Mapper<T> getMapper(@Nonnull final String identifier, @Nonnull final Class<T> type) {
Assert.notNull(identifier, "A tenant identifier must be given.");
Assert.hasText(identifier, "A tenant identifier must be given.");
Assert.notNull(type, "A type must be given.");
this.managerCache.computeIfAbsent(identifier, (key) -> {
this.logger.info("Create new mapping mapper for tenant [" + identifier + "] and type [" + type.getSimpleName() + "].");
final Session session = this.cassandraSessionProvider.getTenantSession(identifier);
final MappingManager mappingManager = new MappingManager(session);
final Mapper<T> typedMapper = mappingManager.mapper(type);
typedMapper.setDefaultDeleteOptions(OptionProvider.deleteConsistencyLevel(this.env));
typedMapper.setDefaultGetOptions(OptionProvider.readConsistencyLevel(this.env));
typedMapper.setDefaultSaveOptions(OptionProvider.writeConsistencyLevel(this.env));
return mappingManager;
});
return this.managerCache.get(identifier).mapper(type);
}