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

liquibase.structure.DatabaseObjectComparator Maven / Gradle / Ivy

There is a newer version: 3.6.2.5.inovus
Show newest version
package liquibase.structure;

import liquibase.structure.core.Schema;
import liquibase.util.StringUtils;

import java.util.Comparator;

public class DatabaseObjectComparator 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 = StringUtils.trimToEmpty(o1.getName());
        String name2 = StringUtils.trimToEmpty(o2.getName());

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

        return i;
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy