From f3eacdcf7abba96e7de0e3d7e6212137c2fc14f1 Mon Sep 17 00:00:00 2001 From: Barry Nouwt Date: Tue, 22 Apr 2025 18:35:27 +0200 Subject: [PATCH] Removed provider classes. --- .../api/SmartConnectorProvider.java | 7 ----- .../smartconnector/api/SmartConnectorSPI.java | 17 ----------- smart-connector-rest-server/pom.xml | 2 +- .../rest/api/impl/RestKnowledgeBase.java | 29 ++----------------- .../spi/SmartConnectorV2Provider.java | 15 ---------- 5 files changed, 4 insertions(+), 66 deletions(-) delete mode 100644 smart-connector-api/src/main/java/eu/knowledge/engine/smartconnector/api/SmartConnectorProvider.java delete mode 100644 smart-connector-api/src/main/java/eu/knowledge/engine/smartconnector/api/SmartConnectorSPI.java delete mode 100644 smart-connector/src/main/java/eu/knowledge/engine/smartconnector/spi/SmartConnectorV2Provider.java diff --git a/smart-connector-api/src/main/java/eu/knowledge/engine/smartconnector/api/SmartConnectorProvider.java b/smart-connector-api/src/main/java/eu/knowledge/engine/smartconnector/api/SmartConnectorProvider.java deleted file mode 100644 index e3626a91b..000000000 --- a/smart-connector-api/src/main/java/eu/knowledge/engine/smartconnector/api/SmartConnectorProvider.java +++ /dev/null @@ -1,7 +0,0 @@ -package eu.knowledge.engine.smartconnector.api; - -public interface SmartConnectorProvider { - - public SmartConnector create(KnowledgeBase kb); - -} diff --git a/smart-connector-api/src/main/java/eu/knowledge/engine/smartconnector/api/SmartConnectorSPI.java b/smart-connector-api/src/main/java/eu/knowledge/engine/smartconnector/api/SmartConnectorSPI.java deleted file mode 100644 index d0416006d..000000000 --- a/smart-connector-api/src/main/java/eu/knowledge/engine/smartconnector/api/SmartConnectorSPI.java +++ /dev/null @@ -1,17 +0,0 @@ -package eu.knowledge.engine.smartconnector.api; - -import java.util.Iterator; -import java.util.ServiceLoader; - -public class SmartConnectorSPI { - - static ServiceLoader loader = ServiceLoader.load(SmartConnectorProvider.class); - - public static Iterator providers(boolean refresh) { - if (refresh) { - loader.reload(); - } - return loader.iterator(); - } - -} diff --git a/smart-connector-rest-server/pom.xml b/smart-connector-rest-server/pom.xml index c8f03921c..c0056b499 100644 --- a/smart-connector-rest-server/pom.xml +++ b/smart-connector-rest-server/pom.xml @@ -100,7 +100,7 @@ eu.knowledge.engine - smart-connector-api + smart-connector ${project.version} diff --git a/smart-connector-rest-server/src/main/java/eu/knowledge/engine/rest/api/impl/RestKnowledgeBase.java b/smart-connector-rest-server/src/main/java/eu/knowledge/engine/rest/api/impl/RestKnowledgeBase.java index 62d11fabe..59883ec67 100644 --- a/smart-connector-rest-server/src/main/java/eu/knowledge/engine/rest/api/impl/RestKnowledgeBase.java +++ b/smart-connector-rest-server/src/main/java/eu/knowledge/engine/rest/api/impl/RestKnowledgeBase.java @@ -7,7 +7,6 @@ import java.util.Date; import java.util.HashMap; import java.util.HashSet; -import java.util.Iterator; import java.util.LinkedHashMap; import java.util.List; import java.util.Map; @@ -24,7 +23,6 @@ import org.apache.jena.rdf.model.Resource; import org.apache.jena.rdf.model.ResourceFactory; -import org.apache.jena.reasoner.rulesys.Rule.ParserException; import org.apache.jena.shared.PrefixMapping; import org.apache.jena.sparql.graph.PrefixMappingMem; import org.apache.jena.sparql.graph.PrefixMappingZero; @@ -56,8 +54,8 @@ import eu.knowledge.engine.smartconnector.api.ReactKnowledgeInteraction; import eu.knowledge.engine.smartconnector.api.RecipientSelector; import eu.knowledge.engine.smartconnector.api.SmartConnector; -import eu.knowledge.engine.smartconnector.api.SmartConnectorProvider; -import eu.knowledge.engine.smartconnector.api.SmartConnectorSPI; +import eu.knowledge.engine.smartconnector.impl.SmartConnectorBuilder; +import eu.knowledge.engine.smartconnector.impl.SmartConnectorImpl; import jakarta.ws.rs.container.AsyncResponse; import jakarta.ws.rs.core.Response; @@ -66,23 +64,6 @@ public class RestKnowledgeBase implements KnowledgeBase { public static int INACTIVITY_TIMEOUT_SECONDS = 60; - /** - * A way to allow the RestServer to use different versions of the Smart - * Connector (typically v1 and v2). We assume there is only a single provider on - * the classpath. - */ - private static SmartConnectorProvider smartConnectorProvider = null; - - static { - Iterator iter = SmartConnectorSPI.providers(true); - if (iter.hasNext()) { - smartConnectorProvider = iter.next(); - } else { - LOG.error( - "SmartConnectorProvider not initialized. Make sure there is a SmartConnectorProvider implementation registered on the classpath."); - } - } - private String knowledgeBaseId; private String knowledgeBaseName; private String knowledgeBaseDescription; @@ -249,11 +230,7 @@ protected boolean removeEldestEntry(Map.Entry eldest) { this.lease = null; } - if (smartConnectorProvider == null) { - throw new IllegalStateException( - "SmartConnectorProvider not initialized. Make sure there is a SmartConnectorProvider implementation registered on the classpath."); - } - this.sc = smartConnectorProvider.create(this); + this.sc = SmartConnectorBuilder.newSmartConnector(this).create(); if (scModel.getReasonerLevel() != null) this.sc.setReasonerLevel(scModel.getReasonerLevel()); diff --git a/smart-connector/src/main/java/eu/knowledge/engine/smartconnector/spi/SmartConnectorV2Provider.java b/smart-connector/src/main/java/eu/knowledge/engine/smartconnector/spi/SmartConnectorV2Provider.java deleted file mode 100644 index 5e184797b..000000000 --- a/smart-connector/src/main/java/eu/knowledge/engine/smartconnector/spi/SmartConnectorV2Provider.java +++ /dev/null @@ -1,15 +0,0 @@ -package eu.knowledge.engine.smartconnector.spi; - -import eu.knowledge.engine.smartconnector.api.KnowledgeBase; -import eu.knowledge.engine.smartconnector.api.SmartConnector; -import eu.knowledge.engine.smartconnector.api.SmartConnectorProvider; -import eu.knowledge.engine.smartconnector.impl.SmartConnectorImpl; - -public class SmartConnectorV2Provider implements SmartConnectorProvider { - - @Override - public SmartConnector create(KnowledgeBase kb) { - return new SmartConnectorImpl(kb); - } - -}