Skip to content

Commit 9557d64

Browse files
check for empty or faulty jskos
1 parent 2c3ba43 commit 9557d64

File tree

1 file changed

+51
-45
lines changed

1 file changed

+51
-45
lines changed

src/updater/DANTEUpdater.js

Lines changed: 51 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -145,55 +145,61 @@ main = (payload) => {
145145

146146
resultJSON = resultJSON[0];
147147

148-
// get desired language for conceptName. This is frontendlanguage from original data or fallback
149-
let desiredLanguage = defaultLanguage;
150-
if (originalCdata.frontendLanguage) {
151-
if (originalCdata.frontendLanguage.length == 2) {
152-
desiredLanguage = originalCdata.frontendLanguage;
148+
// basic check if valid jskos
149+
if (resultJSON.uri && resultJSON.type) {
150+
// get desired language for conceptName. This is frontendlanguage from original data or fallback
151+
let desiredLanguage = defaultLanguage;
152+
if (originalCdata.frontendLanguage) {
153+
if (originalCdata.frontendLanguage.length == 2) {
154+
desiredLanguage = originalCdata.frontendLanguage;
155+
}
153156
}
154-
}
155157

156-
// conceptNameWithHierarchie?
157-
if (!originalCdata.conceptNameWithHierarchie) {
158-
newCdata.conceptNameWithHierarchie = false;
159-
} else {
160-
newCdata.conceptNameWithHierarchie = true;
161-
}
162-
// save conceptName
163-
if (!originalCdata.conceptNameChosenByHand) {
164-
newCdata.conceptName = DANTEUtil.getConceptNameFromJSKOSObject(resultJSON, desiredLanguage, newCdata.conceptNameWithHierarchie);
165-
newCdata.conceptNameChosenByHand = false;
166-
} else {
167-
newCdata.conceptName = originalCdata.conceptName;
168-
newCdata.conceptNameChosenByHand = true;
169-
}
158+
// conceptNameWithHierarchie?
159+
if (!originalCdata.conceptNameWithHierarchie) {
160+
newCdata.conceptNameWithHierarchie = false;
161+
} else {
162+
newCdata.conceptNameWithHierarchie = true;
163+
}
164+
// save conceptName
165+
if (!originalCdata.conceptNameChosenByHand) {
166+
newCdata.conceptName = DANTEUtil.getConceptNameFromJSKOSObject(resultJSON, desiredLanguage, newCdata.conceptNameWithHierarchie);
167+
newCdata.conceptNameChosenByHand = false;
168+
} else {
169+
newCdata.conceptName = originalCdata.conceptName;
170+
newCdata.conceptNameChosenByHand = true;
171+
}
170172

171-
// save conceptURI
172-
newCdata.conceptURI = uri;
173-
// save _fulltext
174-
newCdata._fulltext = DANTEUtil.getFullTextFromJSKOSObject(resultJSON, databaseLanguages);
175-
// save _standard
176-
newCdata._standard = DANTEUtil.getStandardFromJSKOSObject(resultJSON, databaseLanguages, newCdata.conceptNameWithHierarchie);
177-
// save facet
178-
newCdata.facetTerm = DANTEUtil.getFacetTermFromJSKOSObject(resultJSON, databaseLanguages, newCdata.conceptNameWithHierarchie);
179-
// save frontend language (same as given)
180-
newCdata.frontendLanguage = originalCdata.frontendLanguage;
181-
182-
// ancestors
183-
newCdata.conceptAncestors = '';
184-
let conceptAncestors = [];
185-
186-
for (i = 0, len = resultJSON.ancestors.length; i < len; i++) {
187-
conceptAncestors.push(resultJSON.ancestors[i].uri);
173+
// save conceptURI
174+
newCdata.conceptURI = uri;
175+
// save _fulltext
176+
newCdata._fulltext = DANTEUtil.getFullTextFromJSKOSObject(resultJSON, databaseLanguages);
177+
// save _standard
178+
newCdata._standard = DANTEUtil.getStandardFromJSKOSObject(resultJSON, databaseLanguages, newCdata.conceptNameWithHierarchie);
179+
// save facet
180+
newCdata.facetTerm = DANTEUtil.getFacetTermFromJSKOSObject(resultJSON, databaseLanguages, newCdata.conceptNameWithHierarchie);
181+
// save frontend language (same as given)
182+
newCdata.frontendLanguage = originalCdata.frontendLanguage;
183+
184+
// ancestors
185+
newCdata.conceptAncestors = '';
186+
let conceptAncestors = [];
187+
188+
for (i = 0, len = resultJSON.ancestors.length; i < len; i++) {
189+
conceptAncestors.push(resultJSON.ancestors[i].uri);
190+
}
191+
// add own uri to ancestor-uris
192+
conceptAncestors.push(resultJSON.uri);
193+
// merge ancestors to string
194+
newCdata.conceptAncestors = conceptAncestors.join(' ');
195+
196+
if (hasChanges(payload.objects[index].data, newCdata)) {
197+
payload.objects[index].data = newCdata;
198+
} else {}
199+
}
200+
else {
201+
console.error("Empty JSKOS at " + uri + "?")
188202
}
189-
// add own uri to ancestor-uris
190-
conceptAncestors.push(resultJSON.uri);
191-
// merge ancestors to string
192-
newCdata.conceptAncestors = conceptAncestors.join(' ');
193-
194-
if (hasChanges(payload.objects[index].data, newCdata)) {
195-
payload.objects[index].data = newCdata;
196-
} else {}
197203
}
198204
} else {
199205
console.error('No matching record found');

0 commit comments

Comments
 (0)