1 package com.atlassian.vcache.internal.core.service;
2
3 import com.atlassian.vcache.VCacheException;
4
5 import java.util.Map;
6 import java.util.Set;
7
8
9
10
11
12
13 public class FactoryUtils {
14 public static <K, V> void verifyFactoryResult(Map<K, V> factoryResult, Set<K> expectedKeys) {
15
16 if (expectedKeys.size() != factoryResult.size()) {
17 throw new VCacheException("Factory returned " + factoryResult.size()
18 + " entries when " + expectedKeys.size() + " were expected. Expected keys "
19 + expectedKeys + " but got " + factoryResult.keySet() + ".");
20 }
21
22
23 final long numberOfUnknownKeys = factoryResult.keySet().stream()
24 .filter(k -> !expectedKeys.contains(k))
25 .count();
26 if (numberOfUnknownKeys > 0) {
27 throw new VCacheException("Factory returned the keys " + factoryResult.keySet()
28 + " when expected " + expectedKeys + ".");
29 }
30 }
31 }