diff --git a/src/main/java/de/gwdg/metadataqa/marc/analysis/validator/Validator.java b/src/main/java/de/gwdg/metadataqa/marc/analysis/validator/Validator.java index f4f875f3d..e916e2cce 100644 --- a/src/main/java/de/gwdg/metadataqa/marc/analysis/validator/Validator.java +++ b/src/main/java/de/gwdg/metadataqa/marc/analysis/validator/Validator.java @@ -54,7 +54,7 @@ public boolean validate(BibliographicRecord bibliographicRecord) { return validationErrors.isEmpty(); } - logger.info("Validating record " + bibliographicRecord.getId()); + // logger.info("Validating record " + bibliographicRecord.getId()); if (!bibliographicRecord.getSchemaType().equals(SchemaType.PICA)) { validateLeader(); } diff --git a/src/main/java/de/gwdg/metadataqa/marc/definition/tags/TagCategory.java b/src/main/java/de/gwdg/metadataqa/marc/definition/tags/TagCategory.java index f0fa6f129..8ed28dfb6 100644 --- a/src/main/java/de/gwdg/metadataqa/marc/definition/tags/TagCategory.java +++ b/src/main/java/de/gwdg/metadataqa/marc/definition/tags/TagCategory.java @@ -28,6 +28,7 @@ public enum TagCategory { BL(20, "bltags", "BL", "Locally defined tags of the British Library", false), UVA(21, "uvatags", "UvA", "Locally defined tags of University of Amsterdam", false), B3KAT(22, "b3kattags", "B3Kat", "Locally defined tags of a German union cataogue B3Kat", false), + KBR(23, "kbrtags", "KBR", "Locally defined tags of the Royal Library of Belgium", false), PICA_0(50, "pica0", "0...", "PICA+ bibliographic description", false), PICA_1(51, "pica1", "1...", "PICA+ holding", false), PICA_2(52, "pica2", "2...", "PICA+ item", false), diff --git a/src/main/java/de/gwdg/metadataqa/marc/definition/tags/kbrtags/Tag997.java b/src/main/java/de/gwdg/metadataqa/marc/definition/tags/kbrtags/Tag997.java new file mode 100644 index 000000000..5e47fcf3c --- /dev/null +++ b/src/main/java/de/gwdg/metadataqa/marc/definition/tags/kbrtags/Tag997.java @@ -0,0 +1,57 @@ +package de.gwdg.metadataqa.marc.definition.tags.kbrtags; + +import de.gwdg.metadataqa.marc.definition.Cardinality; +import de.gwdg.metadataqa.marc.definition.structure.DataFieldDefinition; +import de.gwdg.metadataqa.marc.definition.structure.Indicator; + +/** + * Item information + */ +public class Tag997 extends DataFieldDefinition { + + private static Tag997 uniqueInstance; + + private Tag997() { + initialize(); + postCreation(); + } + + public static Tag997 getInstance() { + if (uniqueInstance == null) + uniqueInstance = new Tag997(); + return uniqueInstance; + } + + private void initialize() { + + tag = "997"; + label = "Item information"; + mqTag = "ItemInformation"; + cardinality = Cardinality.Repeatable; + // descriptionUrl = "https://www.loc.gov/marc/bibliographic/bd037.html"; + // setCompilanceLevels("O"); + + ind1 = new Indicator(); + ind2 = new Indicator(); + + setSubfieldsWithCardinality( + "*", "Link with identifier", "NR", // (number) + "a", "Barcode number", "NR", // (number) + "c", "Library (holding institution)", "NR", // (text, mostly 'KBR') + "d", "Section (department of holding institution)", "NR", // (text, like 'M-MAN' for (manuscripts)) + "g", "Call Number", "NR", // (text) + "h", "Rating2", "NR", // (text) + "i", "Rating3", "NR", // (text) + "t", "Document type", "NR" // (text) + ); + + getSubfield("*").setMqTag("link"); + getSubfield("a").setMqTag("barcode"); + getSubfield("c").setMqTag("library"); + getSubfield("d").setMqTag("section"); + getSubfield("g").setMqTag("callNumber"); + getSubfield("h").setMqTag("rating2"); + getSubfield("i").setMqTag("rating3"); + getSubfield("t").setMqTag("documentType"); + } +} diff --git a/src/test/java/de/gwdg/metadataqa/marc/utils/DataElementsStaticticsTest.java b/src/test/java/de/gwdg/metadataqa/marc/utils/DataElementsStaticticsTest.java index ff5e72233..d19d8e82d 100644 --- a/src/test/java/de/gwdg/metadataqa/marc/utils/DataElementsStaticticsTest.java +++ b/src/test/java/de/gwdg/metadataqa/marc/utils/DataElementsStaticticsTest.java @@ -15,9 +15,9 @@ public void testStatistics() { assertEquals( 229, statistics.get(DataElementType.coreFields)); assertEquals( 184, statistics.get(DataElementType.coreIndicators)); assertEquals(2667, statistics.get(DataElementType.coreSubfields)); - assertEquals( 214, statistics.get(DataElementType.localFields)); + assertEquals( 215, statistics.get(DataElementType.localFields)); assertEquals( 28, statistics.get(DataElementType.localIndicators)); - assertEquals(1743, statistics.get(DataElementType.localSubfields)); - assertEquals(5283, statistics.total()); + assertEquals(1751, statistics.get(DataElementType.localSubfields)); + assertEquals(5292, statistics.total()); } } \ No newline at end of file diff --git a/src/test/java/de/gwdg/metadataqa/marc/utils/MarcTagListerTest.java b/src/test/java/de/gwdg/metadataqa/marc/utils/MarcTagListerTest.java index 3d4b89892..3de0000f2 100644 --- a/src/test/java/de/gwdg/metadataqa/marc/utils/MarcTagListerTest.java +++ b/src/test/java/de/gwdg/metadataqa/marc/utils/MarcTagListerTest.java @@ -27,7 +27,7 @@ public void testListTag() { List> tags = MarcTagLister.listTags(); assertNotNull(tags); assertNotEquals(0, tags.size()); - assertEquals(443, tags.size()); + assertEquals(444, tags.size()); assertEquals("Tag010", tags.get(0).getSimpleName()); Map versionCounter = new HashMap<>(); Map versionCounter2 = new HashMap<>();