From 14c2ca323605ebf9d116fff822fe47cb4c715170 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?P=C3=A9ter=20Kir=C3=A1ly?= Date: Thu, 16 Nov 2023 17:06:32 +0100 Subject: [PATCH] Prevent a null pointer exception if leader is not available. --- catalogues/gent.sh | 5 +++-- .../de/gwdg/metadataqa/marc/cli/utils/RecordIterator.java | 3 ++- .../gwdg/metadataqa/marc/dao/record/BibliographicRecord.java | 2 +- 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/catalogues/gent.sh b/catalogues/gent.sh index 0c71c9248..9956bf046 100755 --- a/catalogues/gent.sh +++ b/catalogues/gent.sh @@ -9,7 +9,8 @@ NAME=gent TYPE_PARAMS="--marcVersion GENT --alephseq" # MARC_DIR=${BASE_INPUT_DIR}/gent/marc/2020-05-27 # MASK=*.export -MARC_DIR=${BASE_INPUT_DIR}/gent/marc/2021-01-02 -MASK=rug01.backup* +# MARC_DIR=${BASE_INPUT_DIR}/gent/marc/2021-01-02 +# MASK=rug01.backup* +MASK=rug01.backup.2023-11-11.gz . ./common-script diff --git a/src/main/java/de/gwdg/metadataqa/marc/cli/utils/RecordIterator.java b/src/main/java/de/gwdg/metadataqa/marc/cli/utils/RecordIterator.java index c27ebc933..ec35633d9 100644 --- a/src/main/java/de/gwdg/metadataqa/marc/cli/utils/RecordIterator.java +++ b/src/main/java/de/gwdg/metadataqa/marc/cli/utils/RecordIterator.java @@ -181,7 +181,8 @@ private void processContent(MarcReader reader, String fileName) { if (bibliographicRecord != null) processor.processRecord(bibliographicRecord, recordNumber); } catch(Exception e) { - logger.log(Level.SEVERE, "start", e); + logger.log(Level.SEVERE, "Problem occured at processor.processRecord()", e); + e.printStackTrace(); } if (recordNumber % 100000 == 0 && processor.getParameters().doLog()) diff --git a/src/main/java/de/gwdg/metadataqa/marc/dao/record/BibliographicRecord.java b/src/main/java/de/gwdg/metadataqa/marc/dao/record/BibliographicRecord.java index cfd45c711..1284b353e 100644 --- a/src/main/java/de/gwdg/metadataqa/marc/dao/record/BibliographicRecord.java +++ b/src/main/java/de/gwdg/metadataqa/marc/dao/record/BibliographicRecord.java @@ -514,7 +514,7 @@ public List search(String path, String query) { public List select(MarcSpec selector) { List results = new ArrayList<>(); - if (selector.getFieldTag().equals("LDR")) { + if (selector.getFieldTag().equals("LDR") && leader != null && StringUtils.isNotEmpty(leader.getContent())) { if (selector.hasRangeSelector()) { results.add(selector.selectRange(leader.getContent())); } else {