public Mapper getMapper()

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);
  }