private boolean isValidForeignKey()

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


  private boolean isValidForeignKey(List<DdmNestedEntityConfig> requiredEntities,
      DdmCreateTableChange tableChange) {
    for (DdmNestedEntityConfig entity : requiredEntities) {
      if (entity.getTable().equals(tableChange.getTableName())) {
        int keyCount = 0;
        for (DdmLinkConfig linkConfig : entity.getLinkConfig()) {
          for (ColumnConfig column : tableChange.getColumns()) {
            if (column.getConstraints() != null &&
                column.getConstraints().getForeignKeyName() != null &&
                linkConfig.getColumn().equals(column.getName()) &&
                linkConfig.getEntityTable()
                    .equals(column.getConstraints().getReferencedTableName())) {
              keyCount++;
            }
          }
        }
        return entity.getLinkConfig().size() == keyCount;
      }
    }
    return false;
  }