protected Map<String, Set<AuthenticationTriple>> getIntersectionPrefixSetAT( List<AuthenticationTriple> authenticationData) throws SNAAExceptionException { if (authenticationData == null) { throw createSNAAException("Argument authenticationData must not be null!"); } // WS Endpoint URL -> Set<URN Prefixes> for intersection of authenticationData Map<String, Set<AuthenticationTriple>> intersectionPrefixSet = new HashMap<String, Set<AuthenticationTriple>>(); for (AuthenticationTriple authenticationTriple : authenticationData) { for (Entry<String, Set<String>> entry : prefixSet.entrySet()) { if (entry.getValue().contains(authenticationTriple.getUrnPrefix())) { Set<AuthenticationTriple> set = intersectionPrefixSet.get(authenticationTriple.getUrnPrefix()); if (set == null) { set = new HashSet<AuthenticationTriple>(); intersectionPrefixSet.put(entry.getKey(), set); } set.add(authenticationTriple); } } // check if federator federates the urn prefix found in the authentication triple boolean found = false; for (Set<AuthenticationTriple> triples : intersectionPrefixSet.values()) { for (AuthenticationTriple triple : triples) { if (triple.getUrnPrefix().equals(authenticationTriple.getUrnPrefix())) { found = true; } } } if (!found) { throw createSNAAException( "No endpoint known for URN prefix " + authenticationTriple.getUrnPrefix()); } } return intersectionPrefixSet; }