public static UriTemplateMatcher merge(Stream<UriTemplateMatcher> uriTemplateMatchers, TermFactory termFactory) { ImmutableMap<Pattern, Collection<ImmutableFunctionalTerm>> pattern2Terms = uriTemplateMatchers .flatMap(m -> m.getMap().entrySet().stream()) .collect(ImmutableCollectors.toMultimap()) .asMap(); ImmutableMap<Pattern, ImmutableFunctionalTerm> pattern2Term = pattern2Terms.entrySet().stream() .collect(ImmutableCollectors.toMap( e -> e.getKey(), e -> flatten(e.getKey(), e.getValue()) )); UriTemplateMatcher uriTemplateMatcher = new UriTemplateMatcher(termFactory); uriTemplateMatcher.uriTemplateMatcher.putAll(pattern2Term); return uriTemplateMatcher; }
public static UriTemplateMatcher merge(Stream<UriTemplateMatcher> uriTemplateMatchers) { ImmutableMap<Pattern, Collection<ImmutableFunctionalTerm>> pattern2Terms = uriTemplateMatchers .flatMap(m -> m.getMap().entrySet().stream()) .collect(ImmutableCollectors.toMultimap()) .asMap(); ImmutableMap<Pattern, ImmutableFunctionalTerm> pattern2Term = pattern2Terms.entrySet().stream() .collect(ImmutableCollectors.toMap( e -> e.getKey(), e -> flatten(e.getKey(), e.getValue()) )); UriTemplateMatcher uriTemplateMatcher = new UriTemplateMatcher(); uriTemplateMatcher.uriTemplateMatcher.putAll(pattern2Term); return uriTemplateMatcher; }