All Downloads are FREE. Search and download functionalities are using the official Maven repository.

liquibase.diff.compare.DatabaseObjectCollectionComparator Maven / Gradle / Ivy

There is a newer version: 4.30.0
Show newest version
package liquibase.diff.compare;

import liquibase.structure.DatabaseObject;
import liquibase.structure.core.Schema;
import liquibase.util.StringUtil;

import java.util.Comparator;

public class DatabaseObjectCollectionComparator implements Comparator {

    @Override
    public int compare(DatabaseObject o1, DatabaseObject o2) {
        Schema schema1 = o1.getSchema();
        Schema schema2 = o2.getSchema();

        if ((schema1 != null) && (schema2 != null)) {
            int i = schema1.toString().compareTo(schema2.toString());
            if (i != 0) {
                return i;
            }
        }

        String name1 = StringUtil.trimToEmpty(o1.getName());
        String name2 = StringUtil.trimToEmpty(o2.getName());

        int i = name1.compareTo(name2);
        if (i == 0) {
            return StringUtil.trimToEmpty(o1.toString()).compareTo(StringUtil.trimToEmpty(o2.toString()));
        }

        return i;
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy