liquibase.structure.DatabaseObjectComparator Maven / Gradle / Ivy
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;
}
}