From a4fb188fb6ea15c4103736ee7768e9014c7bb878 Mon Sep 17 00:00:00 2001
From: gadelrab <gadelrab@mpi-inf.mpg.de>
Date: Sat, 11 May 2019 21:16:16 +0200
Subject: [PATCH] Multiple textual sources, references by spottingMethod enum

---
 .../java/checker/ExplanationsExtractorDemo.java | 12 +++++++++++-
 .../datastructure/TextualSource.java            | 17 +++++++++++++++++
 2 files changed, 28 insertions(+), 1 deletion(-)

diff --git a/QueryRewriting/src/main/java/checker/ExplanationsExtractorDemo.java b/QueryRewriting/src/main/java/checker/ExplanationsExtractorDemo.java
index ae40074..aa38c2a 100755
--- a/QueryRewriting/src/main/java/checker/ExplanationsExtractorDemo.java
+++ b/QueryRewriting/src/main/java/checker/ExplanationsExtractorDemo.java
@@ -1,6 +1,7 @@
 package checker;
 
 import config.Configuration;
+import de.mpii.factspotting.FactSpotterFactory;
 import extendedsldnf.EvaluatorFactory;
 import extendedsldnf.RecSLDEvaluator;
 import extendedsldnf.datastructure.IExtendedFacts;
@@ -171,7 +172,16 @@ public IQueryExplanations check(InputQuery query,Collection<IRule> specificRules
     }
 
     private List<ITextConnector> getUsedTextualResources(List<TextualSource> textualSources) {
-        return Arrays.asList(new FactSpottingConnector(config));
+        List<ITextConnector> connectors=new ArrayList<>();
+
+        if(textualSources.isEmpty()){
+            connectors.add(new FactSpottingConnector(FactSpotterFactory.SpottingMethod.NONE,config));
+        }
+        else
+        {
+            textualSources.forEach(ts-> connectors.add(new FactSpottingConnector(FactSpotterFactory.SpottingMethod.valueOf(ts.getSourceName().toUpperCase()),config)));
+        }
+        return connectors;
     }
 //
 //    @Override
diff --git a/QueryRewriting/src/main/java/extendedsldnf/datastructure/TextualSource.java b/QueryRewriting/src/main/java/extendedsldnf/datastructure/TextualSource.java
index 75153ee..2bd3c9f 100644
--- a/QueryRewriting/src/main/java/extendedsldnf/datastructure/TextualSource.java
+++ b/QueryRewriting/src/main/java/extendedsldnf/datastructure/TextualSource.java
@@ -25,5 +25,22 @@ public boolean equals(Object o) {
     public int hashCode() {
         return Objects.hash(sourceName);
     }
+
+
+    public String getSourceName() {
+        return sourceName;
+    }
+
+    public void setSourceName(String sourceName) {
+        this.sourceName = sourceName;
+    }
+
+    public Double getWeight() {
+        return weight;
+    }
+
+    public void setWeight(Double weight) {
+        this.weight = weight;
+    }
 }