in src/main/java/org/apache/sling/installer/factories/configuration/impl/ConfigUtil.java [115:144]
public static boolean isSameValue(final Object valA, final Object valB) {
if (valA == null && valB == null) {
return true;
}
if (valA == null || valB == null) {
return false;
}
if (valA.getClass().isArray() && valB.getClass().isArray()) {
final Object[] arrA = convertToObjectArray(valA);
final Object[] arrB = convertToObjectArray(valB);
if (arrA.length != arrB.length) {
return false;
}
for (int i = 0; i < arrA.length; i++) {
if (!(String.valueOf(arrA[i]).equals(String.valueOf(arrB[i])))) {
return false;
}
}
} else if (!valA.getClass().isArray() && !valB.getClass().isArray()) {
// if no arrays do a string comparison
if (!(String.valueOf(valA).equals(String.valueOf(valB)))) {
return false;
}
} else {
// one value is array the other is not!
return false;
}
return true;
}