package de.cinovo.cloudconductor.server.comparators;
import java.util.Comparator;
import de.cinovo.cloudconductor.server.model.EConfigValue;
/**
* Copyright 2014 Cinovo AG<br>
* <br>
*
* @author psigloch
*
*/
public class ConfigComperator implements Comparator<EConfigValue> {
@Override
@SuppressWarnings("null")
public int compare(EConfigValue arg0, EConfigValue arg1) {
if (!arg0.getTemplate().equals(arg1.getTemplate())) {
return arg0.getTemplate().compareTo(arg1.getTemplate());
}
String a0s = (arg0.getService() == null) || arg0.getService().isEmpty() ? null : arg0.getService();
String a1s = (arg1.getService() == null) || arg1.getService().isEmpty() ? null : arg1.getService();
if ((a0s == null) && (a1s == null)) {
return arg0.getConfigkey().compareTo(arg1.getConfigkey());
}
if ((a0s == null) && (a1s != null)) {
return 1;
}
if ((a0s != null) && (a1s == null)) {
return -1;
}
if (a0s.equals(a1s)) {
return arg0.getConfigkey().compareTo(arg1.getConfigkey());
}
return a0s.compareTo(a1s);
}
}