private void fetchAllDatabase()

in service/src/main/java/org/apache/fineract/cn/provisioner/internal/service/TenantService.java [166:194]


  private void fetchAllDatabase(final ArrayList<Tenant> tenants) {
    final DataStoreOption dataStoreOption = provisionerProperties.getDataStoreOption();
    if (dataStoreOption.isEnabled(DataStoreOption.RDBMS)) {
      if (tenants.size() > 0) {
        try (final Connection connection = DataSourceUtils.createProvisionerConnection(this.environment, META_KEYSPACE)) {
          for (final Tenant tenant : tenants) {
            final Optional<TenantDAO> optionalTenantDAO = TenantDAO.find(connection, tenant.getIdentifier());
            optionalTenantDAO.ifPresent(tenantDAO -> tenant.setDatabaseConnectionInfo(tenantDAO.map()));
          }
        } catch (final SQLException sqlex) {
          this.logger.error(sqlex.getMessage(), sqlex);
          throw new IllegalStateException("Could not load org.apache.fineract.cn.provisioner.tenant data!");
        }
      } else {
        try (final Connection connection = DataSourceUtils.createProvisionerConnection(this.environment, META_KEYSPACE)) {
          final List<TenantDAO> tenantDAOs = TenantDAO.fetchAll(connection);
          for (final TenantDAO tenantDAO : tenantDAOs) {
            final Tenant tenant = new Tenant();
            tenants.add(tenant);
            tenant.setIdentifier(tenantDAO.getIdentifier());
            tenant.setDatabaseConnectionInfo(tenantDAO.map());
          }
        } catch (final SQLException sqlex) {
          this.logger.error(sqlex.getMessage(), sqlex);
          throw new IllegalStateException("Could not load org.apache.fineract.cn.provisioner.tenant data!");
        }
      }
    }
  }