private DdmNestedEntityConfig convertChangeToConfig()

in src/main/java/com/epam/digital/data/platform/liquibase/extension/change/core/DdmCreateCompositeEntityChange.java [135:160]


  private DdmNestedEntityConfig convertChangeToConfig(DdmCreateTableChange change) {
    DdmNestedEntityConfig nestedEntity = new DdmNestedEntityConfig();

    List<String> linkColumns = nestedEntities.stream()
        .filter(entity -> entity.getTable().equals(change.getTableName()))
        .flatMap(entity -> entity.getLinkConfig().stream())
        .map(DdmLinkConfig::getColumn)
        .collect(Collectors.toList());

    List<DdmLinkConfig> links = new ArrayList<>();
    for (ColumnConfig column : change.getColumns()) {
      for (String linkColumn : linkColumns) {
        DdmLinkConfig link = new DdmLinkConfig();
        if (column.getConstraints() != null &&
            column.getConstraints().getForeignKeyName() != null &&
            column.getName().equals(linkColumn)) {
          link.setColumn(column.getName());
          link.setEntityTable(column.getConstraints().getReferencedTableName());
          links.add(link);
        }
      }
    }
    nestedEntity.setTable(change.getTableName());
    nestedEntity.setLinkConfig(links);
    return nestedEntity;
  }