From a22d277d38cb429f0079dad2d655f8c8c9bdfcc2 Mon Sep 17 00:00:00 2001 From: Andreas Schwarte Date: Mon, 20 Jan 2025 11:58:30 +0100 Subject: [PATCH] GH-5234: fix limited config support of FedX source selection cache Add an additional constructor accepting a supplier for an initialized cache. --- .../federated/cache/SourceSelectionMemoryCache.java | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/tools/federation/src/main/java/org/eclipse/rdf4j/federated/cache/SourceSelectionMemoryCache.java b/tools/federation/src/main/java/org/eclipse/rdf4j/federated/cache/SourceSelectionMemoryCache.java index 9457c6f927..9ef97959c3 100644 --- a/tools/federation/src/main/java/org/eclipse/rdf4j/federated/cache/SourceSelectionMemoryCache.java +++ b/tools/federation/src/main/java/org/eclipse/rdf4j/federated/cache/SourceSelectionMemoryCache.java @@ -12,6 +12,7 @@ import java.util.Map; import java.util.concurrent.ExecutionException; +import java.util.function.Supplier; import org.eclipse.rdf4j.federated.endpoint.Endpoint; import org.eclipse.rdf4j.federated.exception.FedXRuntimeException; @@ -49,6 +50,14 @@ public SourceSelectionMemoryCache(String cacheSpec) { this.cache = CacheBuilder.from(CacheBuilderSpec.parse(cacheSpec)).build(); } + /** + * + * @param cacheSupplier provider for an instantiated Guava cache + */ + public SourceSelectionMemoryCache(Supplier> cacheSupplier) { + this.cache = cacheSupplier.get(); + } + @Override public StatementSourceAssurance getAssurance(SubQuery subQuery, Endpoint endpoint) {