From 25cb772bed78fd7d699cd09e4508cdd48f1b5512 Mon Sep 17 00:00:00 2001 From: Mark Noble Date: Mon, 13 May 2024 07:53:46 -0600 Subject: [PATCH] Check to see if format field has a valid value and that it's in the format map before translating it --- code/reindexer/reindexer.jar | Bin 897358 -> 897370 bytes .../KohaRecordFormatClassifier.java | 14 ++++++++------ 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/code/reindexer/reindexer.jar b/code/reindexer/reindexer.jar index 6fbaf463352307e9e1190bad2e1cfe3f960c6ed6..6700961f55e9533e973d98e809bd4771f7e6af74 100644 GIT binary patch delta 6076 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 delta 6188 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 diff --git a/code/reindexer/src/org/aspen_discovery/format_classification/KohaRecordFormatClassifier.java b/code/reindexer/src/org/aspen_discovery/format_classification/KohaRecordFormatClassifier.java index 131060c861..f34c213f47 100644 --- a/code/reindexer/src/org/aspen_discovery/format_classification/KohaRecordFormatClassifier.java +++ b/code/reindexer/src/org/aspen_discovery/format_classification/KohaRecordFormatClassifier.java @@ -92,12 +92,14 @@ public FormatInfo getFormatInfoForItem(DataField itemField, BaseIndexingSettings if (!foundFormatFromShelfLocation && !foundFormatFromSublocation && !foundFormatFromCollection && !foundFormatFromIType) { String format = MarcUtil.getItemSubfieldData(profile.getFormatSubfield(), itemField, logEntry, logger); - String translatedFormat = profile.translateValue("format", format); - if (translatedFormat != null && !translatedFormat.isEmpty()) { - formatInfo.format = translatedFormat; - formatInfo.formatCategory = profile.translateValue("format_category", format); - if (profile.hasTranslation("format_boost", format)) { - formatBoost = profile.translateValue("format_boost", format); + if (format != null && profile.hasTranslation("format", format)) { + String translatedFormat = profile.translateValue("format", format); + if (translatedFormat != null && !translatedFormat.isEmpty()) { + formatInfo.format = translatedFormat; + formatInfo.formatCategory = profile.translateValue("format_category", format); + if (profile.hasTranslation("format_boost", format)) { + formatBoost = profile.translateValue("format_boost", format); + } } } }