added npe protection

pull/594/head
Michael Peter Christen 1 year ago
parent 8285fe715a
commit 0089f234f4

@ -169,10 +169,10 @@ public final class SetTools {
@SuppressWarnings("unchecked")
private static <A, B> SortedMap<A, B> joinConstructiveByEnumeration(final SortedMap<A, B> map1, final SortedMap<A, B> map2, final boolean concatStrings) {
// implement pairwise enumeration
final Comparator<? super A> comp = map1.comparator();
final Comparator<? super A> comp = map1.comparator() == null ? (Comparator<? super A>) Comparator.naturalOrder() : map1.comparator();
final Iterator<Map.Entry<A, B>> mi1 = map1.entrySet().iterator();
final Iterator<Map.Entry<A, B>> mi2 = map2.entrySet().iterator();
final SortedMap<A, B> result = new TreeMap<A, B>(map1.comparator());
final SortedMap<A, B> result = new TreeMap<A, B>(comp);
int c;
if ((mi1.hasNext()) && (mi2.hasNext())) {
Map.Entry<A, B> mentry1 = mi1.next();
@ -263,6 +263,8 @@ public final class SetTools {
* @return true if the small set is completely included in the large set
*/
public static <A> boolean totalInclusion(final Iterator<A> small, final Set<A> large) {
if (small == null) return true;
if (large == null) return false;
while (small.hasNext()) {
if (!large.contains(small.next())) return false;
}
@ -276,6 +278,8 @@ public final class SetTools {
* @return true if the small set is completely included in the large set
*/
public static boolean totalInclusion(final HandleSet small, final HandleSet large) {
if (small == null) return true;
if (large == null) return false;
for (byte[] handle: small) {
if (!large.has(handle)) return false;
}

Loading…
Cancel
Save