From 47770ca9dae4cf1b65a442e1266f1bcc10e1ec4a Mon Sep 17 00:00:00 2001
From: esikkala <esko.ikkala@aalto.fi>
Date: Tue, 28 Dec 2021 13:31:52 +0200
Subject: [PATCH] Check for missing kg metadata

---
 src/client/containers/SemanticPortal.js |  4 +++-
 src/server/sparql/FacetResults.js       | 15 +++++++++------
 2 files changed, 12 insertions(+), 7 deletions(-)

diff --git a/src/client/containers/SemanticPortal.js b/src/client/containers/SemanticPortal.js
index 42712868..38df4577 100644
--- a/src/client/containers/SemanticPortal.js
+++ b/src/client/containers/SemanticPortal.js
@@ -641,7 +641,9 @@ const SemanticPortal = props => {
                       perspectiveID={knowledgeGraphMetadataSource}
                       resultClass='knowledgeGraphMetadata'
                       fetchKnowledgeGraphMetadata={props.fetchKnowledgeGraphMetadata}
-                      knowledgeGraphMetadata={props[knowledgeGraphMetadataSource].knowledgeGraphMetadata}
+                      knowledgeGraphMetadata={props[knowledgeGraphMetadataSource]
+                        ? props[knowledgeGraphMetadataSource].knowledgeGraphMetadata
+                        : null}
                     />
                     {intl.getHTML('aboutThePortalPartTwo')}
                   </TextPage>
diff --git a/src/server/sparql/FacetResults.js b/src/server/sparql/FacetResults.js
index 5a29697b..4996f63f 100644
--- a/src/server/sparql/FacetResults.js
+++ b/src/server/sparql/FacetResults.js
@@ -105,11 +105,14 @@ export const getAllResults = ({
   fromID = null,
   toID = null
 }) => {
-  let perspectiveConfig
-  if (perspectiveID) {
-    perspectiveConfig = backendSearchConfig[perspectiveID]
-  } else {
-    perspectiveConfig = backendSearchConfig[facetClass]
+  const finalPerspectiveID = perspectiveID || facetClass
+  const perspectiveConfig = backendSearchConfig[finalPerspectiveID]
+  if (perspectiveConfig === undefined) {
+    console.log(`Error: config not found for perspective "${finalPerspectiveID}"`)
+    return Promise.resolve({
+      data: null,
+      sparqlQuery: ''
+    })
   }
   const {
     endpoint,
@@ -119,7 +122,7 @@ export const getAllResults = ({
   } = perspectiveConfig
   const resultClassConfig = perspectiveConfig.resultClasses[resultClass]
   if (resultClassConfig === undefined) {
-    console.log(`Error: result class "${resultClass}" not defined for perspective "${perspectiveID}"`)
+    console.log(`Error: result class "${resultClass}" not defined for perspective "${finalPerspectiveID}"`)
     return Promise.resolve({
       data: null,
       sparqlQuery: ''
-- 
GitLab