public void processMetadata()

in src/main/java/com/epam/digital/data/platform/geoserver/service/GeoMetadataService.java [39:56]


  public void processMetadata() {
    repository.deleteGeoMetadata();

    var tablesWithGeometry =
        catalog.getTables().stream()
            .filter(TableUtils::isView)
            .filter(TableUtils::isTableContainingGeometryColumn)
            .collect(Collectors.toList());

    tablesWithGeometry.forEach(table -> {
      final String tableNameToGetPk = repository.getTableNameLinkedWithSC(table.getName(),
          TableUtils.getColumnWithGeometry(table));
      final Optional<Table> tableByName = getTableByName(tableNameToGetPk);

      tableByName.ifPresent(
          tbl -> repository.saveMetadata(table.getName(), getPrimaryKeyFromTable(tbl)));
    });
  }