diff --git a/src/main/java/de/gwdg/metadataqa/marc/MarcFactory.java b/src/main/java/de/gwdg/metadataqa/marc/MarcFactory.java index de192099c..d21f885ec 100644 --- a/src/main/java/de/gwdg/metadataqa/marc/MarcFactory.java +++ b/src/main/java/de/gwdg/metadataqa/marc/MarcFactory.java @@ -13,7 +13,9 @@ import de.gwdg.metadataqa.marc.dao.Control008; import de.gwdg.metadataqa.marc.dao.DataField; import de.gwdg.metadataqa.marc.dao.Leader; -import de.gwdg.metadataqa.marc.dao.MarcRecord; +import de.gwdg.metadataqa.marc.dao.record.Marc21Record; +import de.gwdg.metadataqa.marc.dao.record.BibliographicRecord; +import de.gwdg.metadataqa.marc.dao.record.PicaRecord; import de.gwdg.metadataqa.marc.definition.bibliographic.SchemaType; import de.gwdg.metadataqa.marc.definition.structure.DataFieldDefinition; import de.gwdg.metadataqa.marc.definition.MarcVersion; @@ -28,7 +30,6 @@ import de.gwdg.metadataqa.marc.utils.pica.PicaFieldDefinition; import de.gwdg.metadataqa.marc.utils.pica.PicaLine; import de.gwdg.metadataqa.marc.utils.pica.PicaSchemaManager; -import de.gwdg.metadataqa.marc.utils.pica.PicaSchemaReader; import de.gwdg.metadataqa.marc.utils.pica.PicaSubfield; import net.minidev.json.JSONArray; import org.marc4j.marc.ControlField; @@ -57,12 +58,12 @@ private MarcFactory() { throw new IllegalStateException("This is a utility class, can not be instantiated"); } - public static MarcRecord create(JsonPathCache cache) { + public static BibliographicRecord create(JsonPathCache cache) { return create(cache, MarcVersion.MARC21); } - public static MarcRecord create(JsonPathCache cache, MarcVersion version) { - var marcRecord = new MarcRecord(); + public static BibliographicRecord create(JsonPathCache cache, MarcVersion version) { + var marcRecord = new Marc21Record(); for (JsonBranch branch : schema.getPaths()) { if (branch.getParent() != null) continue; @@ -109,23 +110,23 @@ public static MarcRecord create(JsonPathCache cache, MarcVersion version) { return marcRecord; } - public static MarcRecord createFromMarc4j(Record marc4jRecord) { + public static BibliographicRecord createFromMarc4j(Record marc4jRecord) { return createFromMarc4j(marc4jRecord, null, MarcVersion.MARC21); } - public static MarcRecord createFromMarc4j(Record marc4jRecord, - Leader.Type defaultType) { + public static BibliographicRecord createFromMarc4j(Record marc4jRecord, + Leader.Type defaultType) { return createFromMarc4j(marc4jRecord, defaultType, MarcVersion.MARC21); } - public static MarcRecord createFromMarc4j(Record marc4jRecord, - MarcVersion marcVersion) { + public static BibliographicRecord createFromMarc4j(Record marc4jRecord, + MarcVersion marcVersion) { return createFromMarc4j(marc4jRecord, null, marcVersion); } - public static MarcRecord createFromMarc4j(Record marc4jRecord, - Leader.Type defaultType, - MarcVersion marcVersion) { + public static BibliographicRecord createFromMarc4j(Record marc4jRecord, + Leader.Type defaultType, + MarcVersion marcVersion) { return createFromMarc4j(marc4jRecord, defaultType, marcVersion, null); } @@ -137,11 +138,11 @@ public static MarcRecord createFromMarc4j(Record marc4jRecord, * @param replecementInControlFields A ^ or # character which sould be replaced with space in control fields * @return */ - public static MarcRecord createFromMarc4j(Record marc4jRecord, - Leader.Type defaultType, - MarcVersion marcVersion, - String replecementInControlFields) { - var marcRecord = new MarcRecord(); + public static BibliographicRecord createFromMarc4j(Record marc4jRecord, + Leader.Type defaultType, + MarcVersion marcVersion, + String replecementInControlFields) { + var marcRecord = new Marc21Record(); if (marc4jRecord.getLeader() != null) { String data = marc4jRecord.getLeader().marshal(); @@ -166,8 +167,8 @@ public static MarcRecord createFromMarc4j(Record marc4jRecord, return marcRecord; } - public static MarcRecord createPicaFromMarc4j(Record marc4jRecord, PicaSchemaManager picaSchemaManager) { - var marcRecord = new MarcRecord(); + public static BibliographicRecord createPicaFromMarc4j(Record marc4jRecord, PicaSchemaManager picaSchemaManager) { + var marcRecord = new PicaRecord(); marcRecord.setSchemaType(SchemaType.PICA); importMarc4jControlFields(marc4jRecord, marcRecord, null); @@ -178,7 +179,7 @@ public static MarcRecord createPicaFromMarc4j(Record marc4jRecord, PicaSchemaMan } private static void importMarc4jControlFields(Record marc4jRecord, - MarcRecord marcRecord, + BibliographicRecord marcRecord, String replecementInControlFields) { for (ControlField controlField : marc4jRecord.getControlFields()) { String data = controlField.getData(); @@ -208,7 +209,7 @@ private static boolean isFixable(String tag) { } private static void importMarc4jDataFields(Record marc4jRecord, - MarcRecord marcRecord, + BibliographicRecord marcRecord, MarcVersion marcVersion) { for (org.marc4j.marc.DataField dataField : marc4jRecord.getDataFields()) { var definition = getDataFieldDefinition(dataField, marcVersion); @@ -221,7 +222,7 @@ private static void importMarc4jDataFields(Record marc4jRecord, } private static void importMarc4jDataFields(Record marc4jRecord, - MarcRecord marcRecord, + BibliographicRecord marcRecord, PicaSchemaManager schema) { for (org.marc4j.marc.DataField dataField : marc4jRecord.getDataFields()) { var definition = schema.lookup(dataField.getTag()); @@ -325,23 +326,23 @@ private static String extractFirst(JsonPathCache cache, JsonBranch branch) { return null; } - public static MarcRecord createFromFormattedText(String marcRecordAsText) { + public static BibliographicRecord createFromFormattedText(String marcRecordAsText) { return createFromFormattedText(Arrays.asList(marcRecordAsText.split("\n"))); } - public static MarcRecord createFromFormattedText(String marcRecordAsText, MarcVersion marcVersion) { + public static BibliographicRecord createFromFormattedText(String marcRecordAsText, MarcVersion marcVersion) { return createFromFormattedText(Arrays.asList(marcRecordAsText.split("\n")), marcVersion); } - public static MarcRecord createFromFormattedText(List lines) { + public static BibliographicRecord createFromFormattedText(List lines) { return createFromFormattedText(lines, MarcVersion.MARC21); } - public static MarcRecord createFromFormattedText(List lines, MarcVersion marcVersion) { + public static BibliographicRecord createFromFormattedText(List lines, MarcVersion marcVersion) { if (marcVersion == null) marcVersion = MarcVersion.MARC21; - var marcRecord = new MarcRecord(); + var marcRecord = new Marc21Record(); for (String line : lines) { if (line.startsWith("LEADER ")) { marcRecord.setLeader(line.replace("LEADER ", ""), marcVersion); @@ -354,12 +355,12 @@ public static MarcRecord createFromFormattedText(List lines, MarcVersion return marcRecord; } - public static MarcRecord createFromAlephseq(List lines, - MarcVersion marcVersion) { + public static BibliographicRecord createFromAlephseq(List lines, + MarcVersion marcVersion) { if (marcVersion == null) marcVersion = MarcVersion.MARC21; - var marcRecord = new MarcRecord(); + var marcRecord = new Marc21Record(); for (AlephseqLine line : lines) { if (line.isLeader()) { marcRecord.setLeader(line.getContent()); diff --git a/src/main/java/de/gwdg/metadataqa/marc/MarcSubfield.java b/src/main/java/de/gwdg/metadataqa/marc/MarcSubfield.java index b9a8dcbb6..81e78d5f9 100644 --- a/src/main/java/de/gwdg/metadataqa/marc/MarcSubfield.java +++ b/src/main/java/de/gwdg/metadataqa/marc/MarcSubfield.java @@ -1,7 +1,7 @@ package de.gwdg.metadataqa.marc; import de.gwdg.metadataqa.marc.dao.DataField; -import de.gwdg.metadataqa.marc.dao.MarcRecord; +import de.gwdg.metadataqa.marc.dao.record.BibliographicRecord; import de.gwdg.metadataqa.marc.definition.*; import de.gwdg.metadataqa.marc.definition.general.Linkage; import de.gwdg.metadataqa.marc.definition.general.parser.ParserException; @@ -23,7 +23,7 @@ public class MarcSubfield implements Validatable, Serializable { private static final Logger logger = Logger.getLogger(MarcSubfield.class.getCanonicalName()); - private MarcRecord marcRecord; + private BibliographicRecord marcRecord; private DataField field; private SubfieldDefinition definition; private final String code; @@ -93,11 +93,11 @@ public void setDefinition(SubfieldDefinition definition) { this.definition = definition; } - public MarcRecord getMarcRecord() { + public BibliographicRecord getMarcRecord() { return marcRecord; } - public void setMarcRecord(MarcRecord marcRecord) { + public void setMarcRecord(BibliographicRecord marcRecord) { this.marcRecord = marcRecord; } diff --git a/src/main/java/de/gwdg/metadataqa/marc/analysis/AuthorithyAnalyzer.java b/src/main/java/de/gwdg/metadataqa/marc/analysis/AuthorithyAnalyzer.java index 335c9d218..6d2888e9b 100644 --- a/src/main/java/de/gwdg/metadataqa/marc/analysis/AuthorithyAnalyzer.java +++ b/src/main/java/de/gwdg/metadataqa/marc/analysis/AuthorithyAnalyzer.java @@ -1,7 +1,7 @@ package de.gwdg.metadataqa.marc.analysis; import de.gwdg.metadataqa.marc.dao.DataField; -import de.gwdg.metadataqa.marc.dao.MarcRecord; +import de.gwdg.metadataqa.marc.dao.record.BibliographicRecord; import de.gwdg.metadataqa.marc.MarcSubfield; import de.gwdg.metadataqa.marc.cli.utils.Schema; import de.gwdg.metadataqa.marc.definition.SourceSpecificationType; @@ -28,10 +28,10 @@ public class AuthorithyAnalyzer { ); private static final Pattern NUMERIC = Pattern.compile("^\\d"); - private MarcRecord marcRecord; + private BibliographicRecord marcRecord; private AuthorityStatistics authoritiesStatistics; - public AuthorithyAnalyzer(MarcRecord marcRecord, + public AuthorithyAnalyzer(BibliographicRecord marcRecord, AuthorityStatistics authoritiesStatistics) { this.marcRecord = marcRecord; this.authoritiesStatistics = authoritiesStatistics; diff --git a/src/main/java/de/gwdg/metadataqa/marc/analysis/BLClassifier.java b/src/main/java/de/gwdg/metadataqa/marc/analysis/BLClassifier.java index 8d901b48b..babc20a79 100644 --- a/src/main/java/de/gwdg/metadataqa/marc/analysis/BLClassifier.java +++ b/src/main/java/de/gwdg/metadataqa/marc/analysis/BLClassifier.java @@ -4,7 +4,7 @@ import de.gwdg.metadataqa.marc.analysis.bl.UseCase; import de.gwdg.metadataqa.marc.analysis.bl.Element; import de.gwdg.metadataqa.marc.dao.DataField; -import de.gwdg.metadataqa.marc.dao.MarcRecord; +import de.gwdg.metadataqa.marc.dao.record.BibliographicRecord; import java.util.ArrayList; import java.util.List; @@ -35,7 +35,7 @@ else if (useCase.getBand().equals(EFFECTIVE)) } @Override - public String classify(MarcRecord marcRecord) { + public String classify(BibliographicRecord marcRecord) { String level = DEFICIENT.name(); for (UseCase useCase : basicUseCases) @@ -55,7 +55,7 @@ public String classify(MarcRecord marcRecord) { return level; } - private boolean satisfy(MarcRecord marcRecord, UseCase useCase) { + private boolean satisfy(BibliographicRecord marcRecord, UseCase useCase) { for (Element element : useCase.getElements()) { if (marcRecord.hasDatafield(element.getTag())) { if (element.getSubfield() == null) { diff --git a/src/main/java/de/gwdg/metadataqa/marc/analysis/ClassificationAnalyzer.java b/src/main/java/de/gwdg/metadataqa/marc/analysis/ClassificationAnalyzer.java index e5d3b6a94..3c3c7a752 100644 --- a/src/main/java/de/gwdg/metadataqa/marc/analysis/ClassificationAnalyzer.java +++ b/src/main/java/de/gwdg/metadataqa/marc/analysis/ClassificationAnalyzer.java @@ -2,7 +2,7 @@ import de.gwdg.metadataqa.marc.Utils; import de.gwdg.metadataqa.marc.dao.DataField; -import de.gwdg.metadataqa.marc.dao.MarcRecord; +import de.gwdg.metadataqa.marc.dao.record.BibliographicRecord; import de.gwdg.metadataqa.marc.MarcSubfield; import de.gwdg.metadataqa.marc.cli.utils.Schema; import de.gwdg.metadataqa.marc.definition.bibliographic.SchemaType; @@ -32,7 +32,7 @@ public class ClassificationAnalyzer { private static final Pattern NUMERIC = Pattern.compile("^\\d"); private final ClassificationStatistics statistics; - private MarcRecord marcRecord; + private BibliographicRecord marcRecord; private List schemasInRecord; private static final List fieldsWithIndicator1AndSubfield2 = Arrays.asList( @@ -87,7 +87,7 @@ public class ClassificationAnalyzer { new FieldWithScheme("045R", "Regensburger Verbundklassifikation") ); - public ClassificationAnalyzer(MarcRecord marcRecord, ClassificationStatistics statistics) { + public ClassificationAnalyzer(BibliographicRecord marcRecord, ClassificationStatistics statistics) { this.marcRecord = marcRecord; this.statistics = statistics; } @@ -180,7 +180,7 @@ private int processFieldsWithIndicator1AndSubfield2(int total) { return total; } - private int processFieldWithScheme(MarcRecord marcRecord, + private int processFieldWithScheme(BibliographicRecord marcRecord, FieldWithScheme fieldEntry) { var count = 0; final String tag = fieldEntry.getTag(); @@ -222,7 +222,7 @@ private int processFieldWithScheme(MarcRecord marcRecord, return count; } - private int processFieldWithSchemePica(MarcRecord marcRecord, + private int processFieldWithSchemePica(BibliographicRecord marcRecord, FieldWithScheme fieldEntry) { var count = 0; final String tag = fieldEntry.getTag(); @@ -269,7 +269,7 @@ private void registerSchemas(List schemas) { schemasInRecord.addAll(uniqSchemas); } - private int processFieldWithIndicator1AndSubfield2(MarcRecord marcRecord, String tag) { + private int processFieldWithIndicator1AndSubfield2(BibliographicRecord marcRecord, String tag) { var count = 0; if (!marcRecord.hasDatafield(tag)) return count; @@ -302,7 +302,7 @@ private int processFieldWithIndicator1AndSubfield2(MarcRecord marcRecord, String return count; } - private int processFieldWithIndicator2AndSubfield2(MarcRecord marcRecord, String tag) { + private int processFieldWithIndicator2AndSubfield2(BibliographicRecord marcRecord, String tag) { var count = 0; if (!marcRecord.hasDatafield(tag)) return count; @@ -333,7 +333,7 @@ private int processFieldWithIndicator2AndSubfield2(MarcRecord marcRecord, String return count; } - private int processFieldWithSubfield2(MarcRecord marcRecord, String tag) { + private int processFieldWithSubfield2(BibliographicRecord marcRecord, String tag) { var count = 0; if (!marcRecord.hasDatafield(tag)) return count; @@ -351,7 +351,7 @@ private int processFieldWithSubfield2(MarcRecord marcRecord, String tag) { return count; } - private int processFieldWithoutSource(MarcRecord marcRecord, String tag) { + private int processFieldWithoutSource(BibliographicRecord marcRecord, String tag) { var count = 0; if (!marcRecord.hasDatafield(tag)) return count; diff --git a/src/main/java/de/gwdg/metadataqa/marc/analysis/Classifier.java b/src/main/java/de/gwdg/metadataqa/marc/analysis/Classifier.java index dc19dd144..155317074 100644 --- a/src/main/java/de/gwdg/metadataqa/marc/analysis/Classifier.java +++ b/src/main/java/de/gwdg/metadataqa/marc/analysis/Classifier.java @@ -1,7 +1,7 @@ package de.gwdg.metadataqa.marc.analysis; -import de.gwdg.metadataqa.marc.dao.MarcRecord; +import de.gwdg.metadataqa.marc.dao.record.BibliographicRecord; public interface Classifier { - String classify(MarcRecord marcRecord); + String classify(BibliographicRecord marcRecord); } diff --git a/src/main/java/de/gwdg/metadataqa/marc/analysis/DataElementCounter.java b/src/main/java/de/gwdg/metadataqa/marc/analysis/DataElementCounter.java index 0efda0150..f9a4b10c3 100644 --- a/src/main/java/de/gwdg/metadataqa/marc/analysis/DataElementCounter.java +++ b/src/main/java/de/gwdg/metadataqa/marc/analysis/DataElementCounter.java @@ -2,7 +2,7 @@ import de.gwdg.metadataqa.marc.MarcSubfield; import de.gwdg.metadataqa.marc.dao.DataField; -import de.gwdg.metadataqa.marc.dao.MarcRecord; +import de.gwdg.metadataqa.marc.dao.record.BibliographicRecord; import org.apache.commons.io.FileUtils; import java.io.File; @@ -45,7 +45,7 @@ public DataElementCounter(String dir, String fileName, Basis basis) { this.header = _header; } - public List count(MarcRecord marcRecord) { + public List count(BibliographicRecord marcRecord) { List counts = new ArrayList<>(); for (Map.Entry> entry : tags.entrySet()) { List instances = marcRecord.getDatafield(entry.getKey()); diff --git a/src/main/java/de/gwdg/metadataqa/marc/analysis/NetworkAnalyzer.java b/src/main/java/de/gwdg/metadataqa/marc/analysis/NetworkAnalyzer.java index 763dfac3f..a22b8c2ad 100644 --- a/src/main/java/de/gwdg/metadataqa/marc/analysis/NetworkAnalyzer.java +++ b/src/main/java/de/gwdg/metadataqa/marc/analysis/NetworkAnalyzer.java @@ -1,16 +1,16 @@ package de.gwdg.metadataqa.marc.analysis; import de.gwdg.metadataqa.marc.dao.DataField; -import de.gwdg.metadataqa.marc.dao.MarcRecord; +import de.gwdg.metadataqa.marc.dao.record.BibliographicRecord; import java.util.*; public class NetworkAnalyzer { - private final MarcRecord marcRecord; + private final BibliographicRecord marcRecord; private final Set collector; - public NetworkAnalyzer(MarcRecord marcRecord) { + public NetworkAnalyzer(BibliographicRecord marcRecord) { this.marcRecord = marcRecord; collector = new HashSet<>(); } diff --git a/src/main/java/de/gwdg/metadataqa/marc/analysis/Serial.java b/src/main/java/de/gwdg/metadataqa/marc/analysis/Serial.java index 319980c40..1e18fd399 100644 --- a/src/main/java/de/gwdg/metadataqa/marc/analysis/Serial.java +++ b/src/main/java/de/gwdg/metadataqa/marc/analysis/Serial.java @@ -2,7 +2,7 @@ import de.gwdg.metadataqa.marc.dao.Control006; import de.gwdg.metadataqa.marc.dao.DataField; -import de.gwdg.metadataqa.marc.dao.MarcRecord; +import de.gwdg.metadataqa.marc.dao.record.BibliographicRecord; import java.util.LinkedList; import java.util.List; @@ -14,7 +14,7 @@ * https://www.tandfonline.com/doi/full/10.1080/00987913.2017.1350525 */ public class Serial { - private MarcRecord marcRecord; + private BibliographicRecord marcRecord; private SerialScores scores; private static List headers = new LinkedList<>(); @@ -24,7 +24,7 @@ public class Serial { } } - public Serial(MarcRecord marcRecord) { + public Serial(BibliographicRecord marcRecord) { this.marcRecord = marcRecord; scores = new SerialScores(); } diff --git a/src/main/java/de/gwdg/metadataqa/marc/analysis/ShelfReadyAnalysis.java b/src/main/java/de/gwdg/metadataqa/marc/analysis/ShelfReadyAnalysis.java index 2a9fbaeea..feb1f9146 100644 --- a/src/main/java/de/gwdg/metadataqa/marc/analysis/ShelfReadyAnalysis.java +++ b/src/main/java/de/gwdg/metadataqa/marc/analysis/ShelfReadyAnalysis.java @@ -1,6 +1,6 @@ package de.gwdg.metadataqa.marc.analysis; -import de.gwdg.metadataqa.marc.dao.MarcRecord; +import de.gwdg.metadataqa.marc.dao.record.BibliographicRecord; import de.gwdg.metadataqa.marc.utils.marcspec.legacy.MarcSpec; import java.util.ArrayList; @@ -20,7 +20,7 @@ private ShelfReadyAnalysis() { } } - public static List getScores(MarcRecord marcRecord) { + public static List getScores(BibliographicRecord marcRecord) { List scores = new ArrayList<>(); var total = 0.0; diff --git a/src/main/java/de/gwdg/metadataqa/marc/analysis/ThompsonTraillAnalysis.java b/src/main/java/de/gwdg/metadataqa/marc/analysis/ThompsonTraillAnalysis.java index 98aa4e84a..b4c69d0ca 100644 --- a/src/main/java/de/gwdg/metadataqa/marc/analysis/ThompsonTraillAnalysis.java +++ b/src/main/java/de/gwdg/metadataqa/marc/analysis/ThompsonTraillAnalysis.java @@ -2,7 +2,7 @@ import de.gwdg.metadataqa.marc.dao.Control008; import de.gwdg.metadataqa.marc.dao.DataField; -import de.gwdg.metadataqa.marc.dao.MarcRecord; +import de.gwdg.metadataqa.marc.dao.record.BibliographicRecord; import de.gwdg.metadataqa.marc.MarcSubfield; import de.gwdg.metadataqa.marc.definition.general.codelist.CountryCodes; import de.gwdg.metadataqa.marc.definition.general.codelist.LanguageCodes; @@ -40,7 +40,7 @@ public static List getHeader() { return headers; } - public static List getScores(MarcRecord marcRecord) { + public static List getScores(BibliographicRecord marcRecord) { var ttScores = new ThompsonTraillScores(); ttScores.set(ThompsonTraillFields.ISBN, countFields(marcRecord, Arrays.asList("020"))); @@ -74,7 +74,7 @@ public static List getScores(MarcRecord marcRecord) { // Language of Cataloging 040$b 1 point if either no language is specified, // or if English is specified // Descriptive cataloging standard 040$e 1 point if value is “rda” - private static void calculateLanguageAndRda(MarcRecord marcRecord, + private static void calculateLanguageAndRda(BibliographicRecord marcRecord, ThompsonTraillScores ttScores) { List fields040 = marcRecord.getDatafield("040"); var noLanguageOrEnglish = false; @@ -100,7 +100,7 @@ private static void calculateLanguageAndRda(MarcRecord marcRecord, } // LC/NLM Classification 050, 060, 090 1 point if any field exists - private static int calculateClassificationLcNlm(MarcRecord marcRecord) { + private static int calculateClassificationLcNlm(BibliographicRecord marcRecord) { return ( exists(marcRecord, "050") || exists(marcRecord, "060") || @@ -110,7 +110,7 @@ private static int calculateClassificationLcNlm(MarcRecord marcRecord) { // Date (MARC 26X) // 260$c or 264$c // 1 point if 4-digit date exists; 1 point if matches 008 date. - private static int calculateDate26x(MarcRecord marcRecord, String date008) { + private static int calculateDate26x(BibliographicRecord marcRecord, String date008) { var score = 0; if (exists(marcRecord, "260")) { List fields = marcRecord.getDatafield("260"); @@ -162,14 +162,14 @@ private static int calculateDate008(String date008) { // Table of Contents and Abstract // 505, 520 2 points if both fields exist; 1 point if either field exists - private static int calculateTocAndAbstract(MarcRecord marcRecord) { + private static int calculateTocAndAbstract(BibliographicRecord marcRecord) { var score = 0; score += exists(marcRecord, "505") ? 1 : 0; score += exists(marcRecord, "520") ? 1 : 0; return score; } - private static void calculateClassifications(MarcRecord marcRecord, + private static void calculateClassifications(BibliographicRecord marcRecord, ThompsonTraillScores ttScores) { // 600 - Personal Name // 610 - Corporate Name @@ -213,13 +213,13 @@ else if (field.getInd2().equals("7")) { } } - private static int calculateIsOnlineResource(MarcRecord marcRecord, Control008 control008) { + private static int calculateIsOnlineResource(BibliographicRecord marcRecord, Control008 control008) { var score008 = calculateIsOnlineFrom008(marcRecord, control008); var score300a = calculateIsOnlineFrom300a(marcRecord); return score008 + score300a; } - private static int calculateIsOnlineFrom300a(MarcRecord marcRecord) { + private static int calculateIsOnlineFrom300a(BibliographicRecord marcRecord) { List fields300 = marcRecord.getDatafield("300"); var isOnlineResource = false; if (fields300 != null && !fields300.isEmpty()) { @@ -234,7 +234,7 @@ private static int calculateIsOnlineFrom300a(MarcRecord marcRecord) { return isOnlineResource ? 1 : 0; } - private static int calculateIsOnlineFrom008(MarcRecord marcRecord, Control008 control008) { + private static int calculateIsOnlineFrom008(BibliographicRecord marcRecord, Control008 control008) { // Description 008/23=o and 300$a “online resource” 2 points if both elements exist; 1 point if either exists String formOfItem = null; if (control008 != null) { @@ -300,12 +300,12 @@ private static Integer getTotal(List scores) { return total; } - private static boolean exists(MarcRecord marcRecord, String tag) { + private static boolean exists(BibliographicRecord marcRecord, String tag) { List fields = marcRecord.getDatafield(tag); return (fields != null && !fields.isEmpty()); } - private static int countFields(MarcRecord marcRecord, List tags) { + private static int countFields(BibliographicRecord marcRecord, List tags) { var counter = 0; for (String tag : tags) { if (exists(marcRecord, tag)) diff --git a/src/main/java/de/gwdg/metadataqa/marc/cli/AuthorityAnalysis.java b/src/main/java/de/gwdg/metadataqa/marc/cli/AuthorityAnalysis.java index dcb198d00..ac8255019 100644 --- a/src/main/java/de/gwdg/metadataqa/marc/cli/AuthorityAnalysis.java +++ b/src/main/java/de/gwdg/metadataqa/marc/cli/AuthorityAnalysis.java @@ -1,6 +1,6 @@ package de.gwdg.metadataqa.marc.cli; -import de.gwdg.metadataqa.marc.dao.MarcRecord; +import de.gwdg.metadataqa.marc.dao.record.BibliographicRecord; import de.gwdg.metadataqa.marc.Utils; import de.gwdg.metadataqa.marc.analysis.AuthorithyAnalyzer; import de.gwdg.metadataqa.marc.analysis.AuthorityCategory; @@ -81,7 +81,7 @@ public void processRecord(Record marc4jRecord, int recordNumber) throws IOExcept } @Override - public void processRecord(MarcRecord marcRecord, int recordNumber) throws IOException { + public void processRecord(BibliographicRecord marcRecord, int recordNumber) throws IOException { if (parameters.getRecordIgnorator().isIgnorable(marcRecord)) return; diff --git a/src/main/java/de/gwdg/metadataqa/marc/cli/BLClassificationAnalysis.java b/src/main/java/de/gwdg/metadataqa/marc/cli/BLClassificationAnalysis.java index 373c71aac..aaec72707 100644 --- a/src/main/java/de/gwdg/metadataqa/marc/cli/BLClassificationAnalysis.java +++ b/src/main/java/de/gwdg/metadataqa/marc/cli/BLClassificationAnalysis.java @@ -4,7 +4,7 @@ import de.gwdg.metadataqa.marc.cli.parameters.CommonParameters; import de.gwdg.metadataqa.marc.cli.processor.BibliographicInputProcessor; import de.gwdg.metadataqa.marc.cli.utils.RecordIterator; -import de.gwdg.metadataqa.marc.dao.MarcRecord; +import de.gwdg.metadataqa.marc.dao.record.BibliographicRecord; import org.apache.commons.cli.Options; import org.apache.commons.cli.ParseException; import org.apache.commons.io.FileUtils; @@ -74,7 +74,7 @@ public void processRecord(Record marc4jRecord, int recordNumber) throws IOExcept } @Override - public void processRecord(MarcRecord marcRecord, int recordNumber) throws IOException { + public void processRecord(BibliographicRecord marcRecord, int recordNumber) throws IOException { logger.info("."); if (parameters.getRecordIgnorator().isIgnorable(marcRecord)) return; diff --git a/src/main/java/de/gwdg/metadataqa/marc/cli/ClassificationAnalysis.java b/src/main/java/de/gwdg/metadataqa/marc/cli/ClassificationAnalysis.java index 33eb05769..c9fcb9764 100644 --- a/src/main/java/de/gwdg/metadataqa/marc/cli/ClassificationAnalysis.java +++ b/src/main/java/de/gwdg/metadataqa/marc/cli/ClassificationAnalysis.java @@ -1,6 +1,6 @@ package de.gwdg.metadataqa.marc.cli; -import de.gwdg.metadataqa.marc.dao.MarcRecord; +import de.gwdg.metadataqa.marc.dao.record.BibliographicRecord; import de.gwdg.metadataqa.marc.Utils; import de.gwdg.metadataqa.marc.analysis.ClassificationAnalyzer; import de.gwdg.metadataqa.marc.analysis.ClassificationStatistics; @@ -81,7 +81,7 @@ public void processRecord(Record marc4jRecord, int recordNumber) throws IOExcept } @Override - public void processRecord(MarcRecord marcRecord, int recordNumber) throws IOException { + public void processRecord(BibliographicRecord marcRecord, int recordNumber) throws IOException { if (parameters.getRecordIgnorator().isIgnorable(marcRecord)) return; diff --git a/src/main/java/de/gwdg/metadataqa/marc/cli/Completeness.java b/src/main/java/de/gwdg/metadataqa/marc/cli/Completeness.java index 014460e68..c60e07812 100644 --- a/src/main/java/de/gwdg/metadataqa/marc/cli/Completeness.java +++ b/src/main/java/de/gwdg/metadataqa/marc/cli/Completeness.java @@ -12,7 +12,7 @@ import de.gwdg.metadataqa.marc.dao.DataField; import de.gwdg.metadataqa.marc.dao.MarcControlField; import de.gwdg.metadataqa.marc.dao.MarcPositionalControlField; -import de.gwdg.metadataqa.marc.dao.MarcRecord; +import de.gwdg.metadataqa.marc.dao.record.BibliographicRecord; import de.gwdg.metadataqa.marc.definition.ControlValue; import de.gwdg.metadataqa.marc.definition.structure.DataFieldDefinition; import de.gwdg.metadataqa.marc.definition.tags.TagCategory; @@ -107,7 +107,7 @@ public void processRecord(Record marc4jRecord, int recordNumber) throws IOExcept } @Override - public void processRecord(MarcRecord marcRecord, int recordNumber) throws IOException { + public void processRecord(BibliographicRecord marcRecord, int recordNumber) throws IOException { if (!recordFilter.isAllowable(marcRecord)) return; @@ -151,7 +151,7 @@ public void processRecord(MarcRecord marcRecord, int recordNumber) throws IOExce } } - private void processLeader(MarcRecord marcRecord, Map recordFrequency, Map recordPackageCounter, String documentType) { + private void processLeader(BibliographicRecord marcRecord, Map recordFrequency, Map recordPackageCounter, String documentType) { if (marcRecord.getLeader() != null) { for (ControlValue position : marcRecord.getLeader().getValuesList()) { String marcPath = position.getDefinition().getId(); @@ -163,7 +163,7 @@ private void processLeader(MarcRecord marcRecord, Map recordFre } } - private void processSimpleControlfields(MarcRecord marcRecord, Map recordFrequency, Map recordPackageCounter, String documentType) { + private void processSimpleControlfields(BibliographicRecord marcRecord, Map recordFrequency, Map recordPackageCounter, String documentType) { for (MarcControlField field : marcRecord.getSimpleControlfields()) { if (field != null) { String marcPath = field.getDefinition().getTag(); @@ -175,7 +175,7 @@ private void processSimpleControlfields(MarcRecord marcRecord, Map recordFrequency, Map recordPackageCounter, String documentType) { @@ -192,7 +192,7 @@ private void processPositionalControlFields(MarcRecord marcRecord, } } - private void processDataFields(MarcRecord marcRecord, + private void processDataFields(BibliographicRecord marcRecord, Map recordFrequency, Map recordPackageCounter, String documentType) { @@ -252,7 +252,7 @@ private String getPackageName(DataField field) { return packageName; } - private List extract(MarcRecord marcRecord, String tag, String subfield) { + private List extract(BibliographicRecord marcRecord, String tag, String subfield) { List values = new ArrayList<>(); List fields = marcRecord.getDatafield(tag); if (fields != null && !fields.isEmpty()) { diff --git a/src/main/java/de/gwdg/metadataqa/marc/cli/DataElements.java b/src/main/java/de/gwdg/metadataqa/marc/cli/DataElements.java index 88abbd2b3..0f51f3cdb 100644 --- a/src/main/java/de/gwdg/metadataqa/marc/cli/DataElements.java +++ b/src/main/java/de/gwdg/metadataqa/marc/cli/DataElements.java @@ -5,7 +5,7 @@ import de.gwdg.metadataqa.marc.cli.parameters.CompletenessParameters; import de.gwdg.metadataqa.marc.cli.processor.BibliographicInputProcessor; import de.gwdg.metadataqa.marc.cli.utils.RecordIterator; -import de.gwdg.metadataqa.marc.dao.MarcRecord; +import de.gwdg.metadataqa.marc.dao.record.BibliographicRecord; import de.gwdg.metadataqa.marc.model.validation.ValidationErrorFormat; import org.apache.commons.cli.HelpFormatter; import org.apache.commons.cli.Options; @@ -81,7 +81,7 @@ public void processRecord(Record marc4jRecord, int recordNumber) throws IOExcept } @Override - public void processRecord(MarcRecord marcRecord, int recordNumber) throws IOException { + public void processRecord(BibliographicRecord marcRecord, int recordNumber) throws IOException { if (parameters.getRecordIgnorator().isIgnorable(marcRecord)) return; diff --git a/src/main/java/de/gwdg/metadataqa/marc/cli/Formatter.java b/src/main/java/de/gwdg/metadataqa/marc/cli/Formatter.java index 6a00d98e2..7a86675b6 100644 --- a/src/main/java/de/gwdg/metadataqa/marc/cli/Formatter.java +++ b/src/main/java/de/gwdg/metadataqa/marc/cli/Formatter.java @@ -1,7 +1,7 @@ package de.gwdg.metadataqa.marc.cli; import de.gwdg.metadataqa.marc.dao.DataField; -import de.gwdg.metadataqa.marc.dao.MarcRecord; +import de.gwdg.metadataqa.marc.dao.record.BibliographicRecord; import de.gwdg.metadataqa.marc.cli.parameters.FormatterParameters; import de.gwdg.metadataqa.marc.cli.processor.BibliographicInputProcessor; import de.gwdg.metadataqa.marc.cli.utils.RecordIterator; @@ -18,11 +18,8 @@ import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.Paths; -import java.time.LocalDate; -import java.time.format.DateTimeFormatter; import java.util.ArrayList; import java.util.List; -import java.util.Locale; import java.util.logging.Level; import java.util.logging.Logger; @@ -121,7 +118,7 @@ public void processRecord(Record marc4jRecord, int recordNumber) throws IOExcept } @Override - public void processRecord(MarcRecord marcRecord, int recordNumber) throws IOException { + public void processRecord(BibliographicRecord marcRecord, int recordNumber) throws IOException { if (parameters.hasId() && marcRecord.getId().trim().equals(parameters.getId())) { for (DataField field : marcRecord.getDatafields()) { System.err.println(field.getTag()); diff --git a/src/main/java/de/gwdg/metadataqa/marc/cli/FunctionalAnalysis.java b/src/main/java/de/gwdg/metadataqa/marc/cli/FunctionalAnalysis.java index c4d4bbfc6..2caa1707b 100644 --- a/src/main/java/de/gwdg/metadataqa/marc/cli/FunctionalAnalysis.java +++ b/src/main/java/de/gwdg/metadataqa/marc/cli/FunctionalAnalysis.java @@ -7,7 +7,7 @@ import de.gwdg.metadataqa.marc.dao.DataField; import de.gwdg.metadataqa.marc.dao.MarcControlField; import de.gwdg.metadataqa.marc.dao.MarcPositionalControlField; -import de.gwdg.metadataqa.marc.dao.MarcRecord; +import de.gwdg.metadataqa.marc.dao.record.BibliographicRecord; import de.gwdg.metadataqa.marc.definition.ControlValue; import de.gwdg.metadataqa.marc.definition.structure.DataFieldDefinition; import de.gwdg.metadataqa.marc.definition.FRBRFunction; @@ -83,7 +83,7 @@ public void processRecord(Record marc4jRecord, int recordNumber) throws IOExcept } @Override - public void processRecord(MarcRecord marcRecord, int recordNumber) throws IOException { + public void processRecord(BibliographicRecord marcRecord, int recordNumber) throws IOException { if (parameters.getRecordIgnorator().isIgnorable(marcRecord)) return; diff --git a/src/main/java/de/gwdg/metadataqa/marc/cli/MarcToSolr.java b/src/main/java/de/gwdg/metadataqa/marc/cli/MarcToSolr.java index 038162688..6fe59aa57 100644 --- a/src/main/java/de/gwdg/metadataqa/marc/cli/MarcToSolr.java +++ b/src/main/java/de/gwdg/metadataqa/marc/cli/MarcToSolr.java @@ -1,6 +1,6 @@ package de.gwdg.metadataqa.marc.cli; -import de.gwdg.metadataqa.marc.dao.MarcRecord; +import de.gwdg.metadataqa.marc.dao.record.BibliographicRecord; import de.gwdg.metadataqa.marc.cli.parameters.CommonParameters; import de.gwdg.metadataqa.marc.cli.parameters.MarcToSolrParameters; import de.gwdg.metadataqa.marc.cli.processor.BibliographicInputProcessor; @@ -77,7 +77,7 @@ public void processRecord(Record marc4jRecord, int recordNumber) throws IOExcept } @Override - public void processRecord(MarcRecord marcRecord, int recordNumber) throws IOException { + public void processRecord(BibliographicRecord marcRecord, int recordNumber) throws IOException { if (parameters.getRecordIgnorator().isIgnorable(marcRecord)) return; diff --git a/src/main/java/de/gwdg/metadataqa/marc/cli/NetworkAnalysis.java b/src/main/java/de/gwdg/metadataqa/marc/cli/NetworkAnalysis.java index 3dbc92e93..6cf64e967 100644 --- a/src/main/java/de/gwdg/metadataqa/marc/cli/NetworkAnalysis.java +++ b/src/main/java/de/gwdg/metadataqa/marc/cli/NetworkAnalysis.java @@ -1,7 +1,7 @@ package de.gwdg.metadataqa.marc.cli; import de.gwdg.metadataqa.marc.dao.DataField; -import de.gwdg.metadataqa.marc.dao.MarcRecord; +import de.gwdg.metadataqa.marc.dao.record.BibliographicRecord; import de.gwdg.metadataqa.marc.analysis.NetworkAnalyzer; import de.gwdg.metadataqa.marc.cli.parameters.CommonParameters; import de.gwdg.metadataqa.marc.cli.parameters.NetworkAction; @@ -79,7 +79,7 @@ public void processRecord(Record marc4jRecord, int recordNumber) throws IOExcept } @Override - public void processRecord(MarcRecord marcRecord, int recordNumber) throws IOException { + public void processRecord(BibliographicRecord marcRecord, int recordNumber) throws IOException { if (parameters.getRecordIgnorator().isIgnorable(marcRecord)) return; diff --git a/src/main/java/de/gwdg/metadataqa/marc/cli/SerialScore.java b/src/main/java/de/gwdg/metadataqa/marc/cli/SerialScore.java index e411de0f6..0e8d3a272 100644 --- a/src/main/java/de/gwdg/metadataqa/marc/cli/SerialScore.java +++ b/src/main/java/de/gwdg/metadataqa/marc/cli/SerialScore.java @@ -1,7 +1,7 @@ package de.gwdg.metadataqa.marc.cli; import de.gwdg.metadataqa.marc.dao.Leader; -import de.gwdg.metadataqa.marc.dao.MarcRecord; +import de.gwdg.metadataqa.marc.dao.record.BibliographicRecord; import de.gwdg.metadataqa.marc.analysis.SerialFields; import de.gwdg.metadataqa.marc.cli.parameters.CommonParameters; import de.gwdg.metadataqa.marc.cli.parameters.SerialScoreParameters; @@ -104,7 +104,7 @@ public void processRecord(Record marc4jRecord, int recordNumber) { } @Override - public void processRecord(MarcRecord marcRecord, int recordNumber) { + public void processRecord(BibliographicRecord marcRecord, int recordNumber) { if (marcRecord.getType().equals(Leader.Type.CONTINUING_RESOURCES)) { if (parameters.getRecordIgnorator().isIgnorable(marcRecord)) return; diff --git a/src/main/java/de/gwdg/metadataqa/marc/cli/ShelfReadyCompleteness.java b/src/main/java/de/gwdg/metadataqa/marc/cli/ShelfReadyCompleteness.java index 19f1463ce..4d2a99a04 100644 --- a/src/main/java/de/gwdg/metadataqa/marc/cli/ShelfReadyCompleteness.java +++ b/src/main/java/de/gwdg/metadataqa/marc/cli/ShelfReadyCompleteness.java @@ -1,6 +1,6 @@ package de.gwdg.metadataqa.marc.cli; -import de.gwdg.metadataqa.marc.dao.MarcRecord; +import de.gwdg.metadataqa.marc.dao.record.BibliographicRecord; import de.gwdg.metadataqa.marc.analysis.ShelfReadyAnalysis; import de.gwdg.metadataqa.marc.analysis.ShelfReadyFieldsBooks; import de.gwdg.metadataqa.marc.cli.parameters.CommonParameters; @@ -110,7 +110,7 @@ public void processRecord(Record marc4jRecord, int recordNumber) { } @Override - public void processRecord(MarcRecord marcRecord, int recordNumber) { + public void processRecord(BibliographicRecord marcRecord, int recordNumber) { if (parameters.getRecordIgnorator().isIgnorable(marcRecord)) return; diff --git a/src/main/java/de/gwdg/metadataqa/marc/cli/ThompsonTraillCompleteness.java b/src/main/java/de/gwdg/metadataqa/marc/cli/ThompsonTraillCompleteness.java index a80b02909..251d6863d 100644 --- a/src/main/java/de/gwdg/metadataqa/marc/cli/ThompsonTraillCompleteness.java +++ b/src/main/java/de/gwdg/metadataqa/marc/cli/ThompsonTraillCompleteness.java @@ -1,6 +1,6 @@ package de.gwdg.metadataqa.marc.cli; -import de.gwdg.metadataqa.marc.dao.MarcRecord; +import de.gwdg.metadataqa.marc.dao.record.BibliographicRecord; import de.gwdg.metadataqa.marc.analysis.ThompsonTraillFields; import de.gwdg.metadataqa.marc.analysis.ThompsonTraillAnalysis; import de.gwdg.metadataqa.marc.cli.parameters.CommonParameters; @@ -99,7 +99,7 @@ public void processRecord(Record marc4jRecord, int recordNumber) { } @Override - public void processRecord(MarcRecord marcRecord, int recordNumber) { + public void processRecord(BibliographicRecord marcRecord, int recordNumber) { if (parameters.getRecordIgnorator().isIgnorable(marcRecord)) return; diff --git a/src/main/java/de/gwdg/metadataqa/marc/cli/Validator.java b/src/main/java/de/gwdg/metadataqa/marc/cli/Validator.java index 28f2fe738..222fe3fa9 100644 --- a/src/main/java/de/gwdg/metadataqa/marc/cli/Validator.java +++ b/src/main/java/de/gwdg/metadataqa/marc/cli/Validator.java @@ -1,7 +1,7 @@ package de.gwdg.metadataqa.marc.cli; import de.gwdg.metadataqa.marc.CsvUtils; -import de.gwdg.metadataqa.marc.dao.MarcRecord; +import de.gwdg.metadataqa.marc.dao.record.BibliographicRecord; import de.gwdg.metadataqa.marc.cli.parameters.ValidatorParameters; import de.gwdg.metadataqa.marc.cli.processor.BibliographicInputProcessor; import de.gwdg.metadataqa.marc.cli.utils.RecordIterator; @@ -165,7 +165,7 @@ public void processRecord(Record marc4jRecord, int recordNumber) throws IOExcept } @Override - public void processRecord(MarcRecord marcRecord, int i) { + public void processRecord(BibliographicRecord marcRecord, int i) { if (marcRecord.getId() == null) logger.severe("No record number at " + i); @@ -195,7 +195,7 @@ public void processRecord(MarcRecord marcRecord, int i) { counter++; } - private void processDetails(MarcRecord marcRecord) { + private void processDetails(BibliographicRecord marcRecord) { List errors = marcRecord.getValidationErrors(); if (!errors.isEmpty()) { String message = null; @@ -217,7 +217,7 @@ private void processDetails(MarcRecord marcRecord) { } } - private void processSummary(MarcRecord marcRecord) { + private void processSummary(BibliographicRecord marcRecord) { List errors = marcRecord.getValidationErrors(); List allButInvalidFieldErrors = new ArrayList<>(); Set uniqueErrors = new HashSet<>(); diff --git a/src/main/java/de/gwdg/metadataqa/marc/cli/plugin/CompletenessPlugin.java b/src/main/java/de/gwdg/metadataqa/marc/cli/plugin/CompletenessPlugin.java index 51f0d9fb2..b5abaa71e 100644 --- a/src/main/java/de/gwdg/metadataqa/marc/cli/plugin/CompletenessPlugin.java +++ b/src/main/java/de/gwdg/metadataqa/marc/cli/plugin/CompletenessPlugin.java @@ -1,13 +1,13 @@ package de.gwdg.metadataqa.marc.cli.plugin; import de.gwdg.metadataqa.marc.dao.DataField; -import de.gwdg.metadataqa.marc.dao.MarcRecord; +import de.gwdg.metadataqa.marc.dao.record.BibliographicRecord; import de.gwdg.metadataqa.marc.utils.TagHierarchy; import java.io.Serializable; public interface CompletenessPlugin extends Serializable { - String getDocumentType(MarcRecord marcRecord); + String getDocumentType(BibliographicRecord marcRecord); TagHierarchy getTagHierarchy(String path); String getPackageName(DataField field); } diff --git a/src/main/java/de/gwdg/metadataqa/marc/cli/plugin/Marc21CompletenessPlugin.java b/src/main/java/de/gwdg/metadataqa/marc/cli/plugin/Marc21CompletenessPlugin.java index 535c17c74..deb08d4b2 100644 --- a/src/main/java/de/gwdg/metadataqa/marc/cli/plugin/Marc21CompletenessPlugin.java +++ b/src/main/java/de/gwdg/metadataqa/marc/cli/plugin/Marc21CompletenessPlugin.java @@ -3,7 +3,7 @@ import de.gwdg.metadataqa.marc.Utils; import de.gwdg.metadataqa.marc.cli.parameters.CompletenessParameters; import de.gwdg.metadataqa.marc.dao.DataField; -import de.gwdg.metadataqa.marc.dao.MarcRecord; +import de.gwdg.metadataqa.marc.dao.record.BibliographicRecord; import de.gwdg.metadataqa.marc.utils.TagHierarchy; import java.io.Serializable; @@ -18,7 +18,7 @@ public Marc21CompletenessPlugin(CompletenessParameters parameters) { } @Override - public String getDocumentType(MarcRecord marcRecord) { + public String getDocumentType(BibliographicRecord marcRecord) { return marcRecord.getType().getValue(); } diff --git a/src/main/java/de/gwdg/metadataqa/marc/cli/plugin/PicaCompletenessPlugin.java b/src/main/java/de/gwdg/metadataqa/marc/cli/plugin/PicaCompletenessPlugin.java index 30195f08b..339f6e9f8 100644 --- a/src/main/java/de/gwdg/metadataqa/marc/cli/plugin/PicaCompletenessPlugin.java +++ b/src/main/java/de/gwdg/metadataqa/marc/cli/plugin/PicaCompletenessPlugin.java @@ -2,7 +2,7 @@ import de.gwdg.metadataqa.marc.cli.parameters.CompletenessParameters; import de.gwdg.metadataqa.marc.dao.DataField; -import de.gwdg.metadataqa.marc.dao.MarcRecord; +import de.gwdg.metadataqa.marc.dao.record.BibliographicRecord; import de.gwdg.metadataqa.marc.definition.structure.SubfieldDefinition; import de.gwdg.metadataqa.marc.definition.tags.TagCategory; import de.gwdg.metadataqa.marc.utils.TagHierarchy; @@ -53,7 +53,7 @@ public PicaCompletenessPlugin(CompletenessParameters parameters) { } @Override - public String getDocumentType(MarcRecord marcRecord) { + public String getDocumentType(BibliographicRecord marcRecord) { String code = marcRecord.getDatafield(field).get(0).getSubfield(subfield).get(0).getValue().substring(0, 1); return types.getOrDefault(code, "invalid"); } diff --git a/src/main/java/de/gwdg/metadataqa/marc/cli/processor/BibliographicInputProcessor.java b/src/main/java/de/gwdg/metadataqa/marc/cli/processor/BibliographicInputProcessor.java index 339192c80..e72b1f9c1 100644 --- a/src/main/java/de/gwdg/metadataqa/marc/cli/processor/BibliographicInputProcessor.java +++ b/src/main/java/de/gwdg/metadataqa/marc/cli/processor/BibliographicInputProcessor.java @@ -1,6 +1,6 @@ package de.gwdg.metadataqa.marc.cli.processor; -import de.gwdg.metadataqa.marc.dao.MarcRecord; +import de.gwdg.metadataqa.marc.dao.record.BibliographicRecord; import de.gwdg.metadataqa.marc.cli.parameters.CommonParameters; import org.apache.commons.cli.Options; import org.marc4j.marc.Record; @@ -12,7 +12,7 @@ public interface BibliographicInputProcessor { CommonParameters getParameters(); void processRecord(Record marc4jRecord, int recordNumber) throws IOException; - void processRecord(MarcRecord marcRecord, int recordNumber) throws IOException; + void processRecord(BibliographicRecord marcRecord, int recordNumber) throws IOException; void beforeIteration(); void fileOpened(Path path); void fileProcessed(); diff --git a/src/main/java/de/gwdg/metadataqa/marc/cli/spark/ParallelValidator.java b/src/main/java/de/gwdg/metadataqa/marc/cli/spark/ParallelValidator.java index d7803d506..2dcc88fb1 100644 --- a/src/main/java/de/gwdg/metadataqa/marc/cli/spark/ParallelValidator.java +++ b/src/main/java/de/gwdg/metadataqa/marc/cli/spark/ParallelValidator.java @@ -1,7 +1,7 @@ package de.gwdg.metadataqa.marc.cli.spark; import de.gwdg.metadataqa.marc.MarcFactory; -import de.gwdg.metadataqa.marc.dao.MarcRecord; +import de.gwdg.metadataqa.marc.dao.record.BibliographicRecord; import de.gwdg.metadataqa.marc.cli.parameters.ValidatorParameters; import de.gwdg.metadataqa.marc.cli.Validator; import de.gwdg.metadataqa.marc.definition.MarcFormat; @@ -42,7 +42,7 @@ public static void main(String[] args) throws ParseException { .flatMap(content -> { MarcReader reader = QAMarcReaderFactory.getStringReader(MarcFormat.ISO, content); Record marc4jRecord = reader.next(); - MarcRecord marcRecord = MarcFactory.createFromMarc4j( + BibliographicRecord marcRecord = MarcFactory.createFromMarc4j( marc4jRecord, params.getDefaultRecordType(), params.getMarcVersion(), params.getReplecementInControlFields()); validator.processRecord(marcRecord, 1); return ValidationErrorFormatter diff --git a/src/main/java/de/gwdg/metadataqa/marc/cli/utils/MarcJsonToSolr.java b/src/main/java/de/gwdg/metadataqa/marc/cli/utils/MarcJsonToSolr.java index 699591af3..73eda8627 100644 --- a/src/main/java/de/gwdg/metadataqa/marc/cli/utils/MarcJsonToSolr.java +++ b/src/main/java/de/gwdg/metadataqa/marc/cli/utils/MarcJsonToSolr.java @@ -3,7 +3,7 @@ import de.gwdg.metadataqa.api.model.pathcache.JsonPathCache; import de.gwdg.metadataqa.api.model.XmlFieldInstance; import de.gwdg.metadataqa.marc.MarcFactory; -import de.gwdg.metadataqa.marc.dao.MarcRecord; +import de.gwdg.metadataqa.marc.dao.record.BibliographicRecord; import de.gwdg.metadataqa.marc.datastore.MarcSolrClient; import org.apache.solr.client.solrj.SolrServerException; @@ -56,7 +56,7 @@ else if (args[2].equals("doCommit=false")) for (String marcRecordLine : records) { i++; cache = new JsonPathCache(marcRecordLine); - MarcRecord marcRecord = MarcFactory.create(cache); + BibliographicRecord marcRecord = MarcFactory.create(cache); client.indexMap(marcRecord.getId(), marcRecord.getKeyValuePairs()); if (i % 1000 == 0) { 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 8e89eea0d..8d7fbf7d4 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 @@ -3,7 +3,7 @@ import de.gwdg.metadataqa.marc.cli.parameters.CommonParameters; import de.gwdg.metadataqa.marc.dao.Leader; import de.gwdg.metadataqa.marc.MarcFactory; -import de.gwdg.metadataqa.marc.dao.MarcRecord; +import de.gwdg.metadataqa.marc.dao.record.BibliographicRecord; import de.gwdg.metadataqa.marc.cli.processor.BibliographicInputProcessor; import de.gwdg.metadataqa.marc.definition.DataSource; import de.gwdg.metadataqa.marc.definition.MarcVersion; @@ -165,7 +165,7 @@ private void processContent(MarcReader reader, String fileName) { try { processor.processRecord(marc4jRecord, i); - MarcRecord marcRecord = transformMarcRecord(marc4jRecord); + BibliographicRecord marcRecord = transformMarcRecord(marc4jRecord); try { processor.processRecord(marcRecord, i); } catch(Exception e) { @@ -182,7 +182,7 @@ private void processContent(MarcReader reader, String fileName) { } } - private MarcRecord transformMarcRecord(Record marc4jRecord) { + private BibliographicRecord transformMarcRecord(Record marc4jRecord) { if (parameters.getSchemaType().equals(SchemaType.MARC21)) return MarcFactory.createFromMarc4j(marc4jRecord, defaultRecordType, marcVersion, replecementInControlFields); else diff --git a/src/main/java/de/gwdg/metadataqa/marc/cli/utils/ignorablerecords/CriteriumPica.java b/src/main/java/de/gwdg/metadataqa/marc/cli/utils/ignorablerecords/CriteriumPica.java index 8177fcc8f..1c346f7d5 100644 --- a/src/main/java/de/gwdg/metadataqa/marc/cli/utils/ignorablerecords/CriteriumPica.java +++ b/src/main/java/de/gwdg/metadataqa/marc/cli/utils/ignorablerecords/CriteriumPica.java @@ -2,7 +2,7 @@ import de.gwdg.metadataqa.marc.MarcSubfield; import de.gwdg.metadataqa.marc.dao.DataField; -import de.gwdg.metadataqa.marc.dao.MarcRecord; +import de.gwdg.metadataqa.marc.dao.record.BibliographicRecord; import de.gwdg.metadataqa.marc.utils.pica.path.PicaPath; import de.gwdg.metadataqa.marc.utils.pica.path.Subfields; @@ -37,7 +37,7 @@ public String getValue() { return value; } - public boolean met(MarcRecord marcRecord) { + public boolean met(BibliographicRecord marcRecord) { List fields = marcRecord.getDatafield(path.getTag()); boolean passed = false; if (fields != null && !fields.isEmpty()) { diff --git a/src/main/java/de/gwdg/metadataqa/marc/cli/utils/ignorablerecords/Marc21Filter.java b/src/main/java/de/gwdg/metadataqa/marc/cli/utils/ignorablerecords/Marc21Filter.java index 1da25571f..a2160ed72 100644 --- a/src/main/java/de/gwdg/metadataqa/marc/cli/utils/ignorablerecords/Marc21Filter.java +++ b/src/main/java/de/gwdg/metadataqa/marc/cli/utils/ignorablerecords/Marc21Filter.java @@ -2,7 +2,7 @@ import de.gwdg.metadataqa.marc.MarcSubfield; import de.gwdg.metadataqa.marc.dao.DataField; -import de.gwdg.metadataqa.marc.dao.MarcRecord; +import de.gwdg.metadataqa.marc.dao.record.BibliographicRecord; import org.apache.commons.lang3.StringUtils; import java.util.ArrayList; @@ -44,7 +44,7 @@ protected DataField parseField(String field) { return null; } - protected boolean met(MarcRecord marcRecord) { + protected boolean met(BibliographicRecord marcRecord) { for (DataField condition : conditions) { List recordFields = marcRecord.getDatafield(condition.getTag()); if (recordFields == null || recordFields.isEmpty()) diff --git a/src/main/java/de/gwdg/metadataqa/marc/cli/utils/ignorablerecords/PicaFilter.java b/src/main/java/de/gwdg/metadataqa/marc/cli/utils/ignorablerecords/PicaFilter.java index 5b747704e..0ee89ffc6 100644 --- a/src/main/java/de/gwdg/metadataqa/marc/cli/utils/ignorablerecords/PicaFilter.java +++ b/src/main/java/de/gwdg/metadataqa/marc/cli/utils/ignorablerecords/PicaFilter.java @@ -1,6 +1,6 @@ package de.gwdg.metadataqa.marc.cli.utils.ignorablerecords; -import de.gwdg.metadataqa.marc.dao.MarcRecord; +import de.gwdg.metadataqa.marc.dao.record.BibliographicRecord; import de.gwdg.metadataqa.marc.utils.parser.BooleanContainer; import de.gwdg.metadataqa.marc.utils.parser.BooleanParser; import de.gwdg.metadataqa.marc.utils.pica.path.PicaPath; @@ -71,7 +71,7 @@ public BooleanContainer getBooleanCriteria() { return booleanCriteria; } - public boolean metCriteria(MarcRecord marcRecord, BooleanContainer criteria) { + public boolean metCriteria(BibliographicRecord marcRecord, BooleanContainer criteria) { boolean passed = false; if (criteria.getValue() != null) { passed = criteria.getValue().met(marcRecord); diff --git a/src/main/java/de/gwdg/metadataqa/marc/cli/utils/ignorablerecords/RecordFilter.java b/src/main/java/de/gwdg/metadataqa/marc/cli/utils/ignorablerecords/RecordFilter.java index a58e7b61c..ea6f92856 100644 --- a/src/main/java/de/gwdg/metadataqa/marc/cli/utils/ignorablerecords/RecordFilter.java +++ b/src/main/java/de/gwdg/metadataqa/marc/cli/utils/ignorablerecords/RecordFilter.java @@ -1,10 +1,10 @@ package de.gwdg.metadataqa.marc.cli.utils.ignorablerecords; -import de.gwdg.metadataqa.marc.dao.MarcRecord; +import de.gwdg.metadataqa.marc.dao.record.BibliographicRecord; import java.io.Serializable; public interface RecordFilter extends Serializable { boolean isEmpty(); - boolean isAllowable(MarcRecord marcRecord); + boolean isAllowable(BibliographicRecord marcRecord); } diff --git a/src/main/java/de/gwdg/metadataqa/marc/cli/utils/ignorablerecords/RecordFilterMarc21.java b/src/main/java/de/gwdg/metadataqa/marc/cli/utils/ignorablerecords/RecordFilterMarc21.java index 4d1f617e0..3b7d47f20 100644 --- a/src/main/java/de/gwdg/metadataqa/marc/cli/utils/ignorablerecords/RecordFilterMarc21.java +++ b/src/main/java/de/gwdg/metadataqa/marc/cli/utils/ignorablerecords/RecordFilterMarc21.java @@ -1,6 +1,6 @@ package de.gwdg.metadataqa.marc.cli.utils.ignorablerecords; -import de.gwdg.metadataqa.marc.dao.MarcRecord; +import de.gwdg.metadataqa.marc.dao.record.BibliographicRecord; import java.io.Serializable; @@ -12,7 +12,7 @@ public RecordFilterMarc21(String allowableRecordsInput) { } @Override - public boolean isAllowable(MarcRecord marcRecord) { + public boolean isAllowable(BibliographicRecord marcRecord) { if (isEmpty()) return true; diff --git a/src/main/java/de/gwdg/metadataqa/marc/cli/utils/ignorablerecords/RecordFilterPica.java b/src/main/java/de/gwdg/metadataqa/marc/cli/utils/ignorablerecords/RecordFilterPica.java index b31cccf9d..1a5d7f0dd 100644 --- a/src/main/java/de/gwdg/metadataqa/marc/cli/utils/ignorablerecords/RecordFilterPica.java +++ b/src/main/java/de/gwdg/metadataqa/marc/cli/utils/ignorablerecords/RecordFilterPica.java @@ -1,6 +1,6 @@ package de.gwdg.metadataqa.marc.cli.utils.ignorablerecords; -import de.gwdg.metadataqa.marc.dao.MarcRecord; +import de.gwdg.metadataqa.marc.dao.record.BibliographicRecord; import java.io.Serializable; @@ -17,7 +17,7 @@ public boolean isEmpty() { } @Override - public boolean isAllowable(MarcRecord marcRecord) { + public boolean isAllowable(BibliographicRecord marcRecord) { if (isEmpty()) return true; diff --git a/src/main/java/de/gwdg/metadataqa/marc/cli/utils/ignorablerecords/RecordIgnorator.java b/src/main/java/de/gwdg/metadataqa/marc/cli/utils/ignorablerecords/RecordIgnorator.java index d946c3d7a..c7a8639c2 100644 --- a/src/main/java/de/gwdg/metadataqa/marc/cli/utils/ignorablerecords/RecordIgnorator.java +++ b/src/main/java/de/gwdg/metadataqa/marc/cli/utils/ignorablerecords/RecordIgnorator.java @@ -1,10 +1,10 @@ package de.gwdg.metadataqa.marc.cli.utils.ignorablerecords; -import de.gwdg.metadataqa.marc.dao.MarcRecord; +import de.gwdg.metadataqa.marc.dao.record.BibliographicRecord; import java.io.Serializable; public interface RecordIgnorator extends Serializable { boolean isEmpty(); - boolean isIgnorable(MarcRecord marcRecord); + boolean isIgnorable(BibliographicRecord marcRecord); } diff --git a/src/main/java/de/gwdg/metadataqa/marc/cli/utils/ignorablerecords/RecordIgnoratorMarc21.java b/src/main/java/de/gwdg/metadataqa/marc/cli/utils/ignorablerecords/RecordIgnoratorMarc21.java index 923eb25b6..cc81a0198 100644 --- a/src/main/java/de/gwdg/metadataqa/marc/cli/utils/ignorablerecords/RecordIgnoratorMarc21.java +++ b/src/main/java/de/gwdg/metadataqa/marc/cli/utils/ignorablerecords/RecordIgnoratorMarc21.java @@ -1,6 +1,6 @@ package de.gwdg.metadataqa.marc.cli.utils.ignorablerecords; -import de.gwdg.metadataqa.marc.dao.MarcRecord; +import de.gwdg.metadataqa.marc.dao.record.BibliographicRecord; import java.io.Serializable; @@ -13,7 +13,7 @@ public RecordIgnoratorMarc21(String ignorableRecordsInput) { } @Override - public boolean isIgnorable(MarcRecord marcRecord) { + public boolean isIgnorable(BibliographicRecord marcRecord) { if (isEmpty()) return false; diff --git a/src/main/java/de/gwdg/metadataqa/marc/cli/utils/ignorablerecords/RecordIgnoratorPica.java b/src/main/java/de/gwdg/metadataqa/marc/cli/utils/ignorablerecords/RecordIgnoratorPica.java index fb86146dc..5069977cc 100644 --- a/src/main/java/de/gwdg/metadataqa/marc/cli/utils/ignorablerecords/RecordIgnoratorPica.java +++ b/src/main/java/de/gwdg/metadataqa/marc/cli/utils/ignorablerecords/RecordIgnoratorPica.java @@ -1,6 +1,6 @@ package de.gwdg.metadataqa.marc.cli.utils.ignorablerecords; -import de.gwdg.metadataqa.marc.dao.MarcRecord; +import de.gwdg.metadataqa.marc.dao.record.BibliographicRecord; import java.io.Serializable; @@ -18,7 +18,7 @@ public boolean isEmpty() { } @Override - public boolean isIgnorable(MarcRecord marcRecord) { + public boolean isIgnorable(BibliographicRecord marcRecord) { if (isEmpty()) return false; diff --git a/src/main/java/de/gwdg/metadataqa/marc/dao/Control005.java b/src/main/java/de/gwdg/metadataqa/marc/dao/Control005.java index 4aa000fec..ca7cf040a 100644 --- a/src/main/java/de/gwdg/metadataqa/marc/dao/Control005.java +++ b/src/main/java/de/gwdg/metadataqa/marc/dao/Control005.java @@ -1,6 +1,7 @@ package de.gwdg.metadataqa.marc.dao; import de.gwdg.metadataqa.marc.Extractable; +import de.gwdg.metadataqa.marc.dao.record.BibliographicRecord; import de.gwdg.metadataqa.marc.definition.MarcVersion; import de.gwdg.metadataqa.marc.definition.tags.control.Control005Definition; import de.gwdg.metadataqa.marc.model.validation.ValidationError; @@ -34,7 +35,7 @@ public Control005(String content) { processContent(); } - public Control005(String content, MarcRecord marcRecord) { + public Control005(String content, BibliographicRecord marcRecord) { super(Control005Definition.getInstance(), content); this.marcRecord = marcRecord; processContent(); diff --git a/src/main/java/de/gwdg/metadataqa/marc/dao/Control006.java b/src/main/java/de/gwdg/metadataqa/marc/dao/Control006.java index e679849e6..f89d69aef 100644 --- a/src/main/java/de/gwdg/metadataqa/marc/dao/Control006.java +++ b/src/main/java/de/gwdg/metadataqa/marc/dao/Control006.java @@ -1,5 +1,6 @@ package de.gwdg.metadataqa.marc.dao; +import de.gwdg.metadataqa.marc.dao.record.BibliographicRecord; import de.gwdg.metadataqa.marc.definition.*; import de.gwdg.metadataqa.marc.definition.controlpositions.Control006Positions; import de.gwdg.metadataqa.marc.definition.controltype.Control008Type; @@ -82,7 +83,7 @@ public Control006(String content, Leader.Type recordType) { processContent(); } - public Control006(String content, MarcRecord marcRecord) { + public Control006(String content, BibliographicRecord marcRecord) { super(Control006Definition.getInstance(), content, marcRecord.getType()); this.marcRecord = marcRecord; if (content != null) diff --git a/src/main/java/de/gwdg/metadataqa/marc/dao/Control007.java b/src/main/java/de/gwdg/metadataqa/marc/dao/Control007.java index 01bbc7e52..739538f48 100644 --- a/src/main/java/de/gwdg/metadataqa/marc/dao/Control007.java +++ b/src/main/java/de/gwdg/metadataqa/marc/dao/Control007.java @@ -1,5 +1,6 @@ package de.gwdg.metadataqa.marc.dao; +import de.gwdg.metadataqa.marc.dao.record.BibliographicRecord; import de.gwdg.metadataqa.marc.definition.*; import de.gwdg.metadataqa.marc.definition.controlpositions.Control007Positions; import de.gwdg.metadataqa.marc.definition.controltype.Control007Category; @@ -156,7 +157,7 @@ public Control007(String content) { handleContent(content); } - public Control007(String content, MarcRecord marcRecord) { + public Control007(String content, BibliographicRecord marcRecord) { super(Control007Definition.getInstance(), content); this.marcRecord = marcRecord; handleContent(content); diff --git a/src/main/java/de/gwdg/metadataqa/marc/dao/Control008.java b/src/main/java/de/gwdg/metadataqa/marc/dao/Control008.java index 8ec7b3cf8..e710e7931 100644 --- a/src/main/java/de/gwdg/metadataqa/marc/dao/Control008.java +++ b/src/main/java/de/gwdg/metadataqa/marc/dao/Control008.java @@ -1,5 +1,6 @@ package de.gwdg.metadataqa.marc.dao; +import de.gwdg.metadataqa.marc.dao.record.BibliographicRecord; import de.gwdg.metadataqa.marc.definition.*; import de.gwdg.metadataqa.marc.definition.controlpositions.Control008Positions; import de.gwdg.metadataqa.marc.definition.controltype.Control008Type; @@ -92,7 +93,7 @@ public Control008(String content, Leader.Type recordType) { initialize(); } - public Control008(String content, MarcRecord marcRecord) { + public Control008(String content, BibliographicRecord marcRecord) { super(Control008Definition.getInstance(), content, marcRecord.getType()); this.marcRecord = marcRecord; initialize(); diff --git a/src/main/java/de/gwdg/metadataqa/marc/dao/DataField.java b/src/main/java/de/gwdg/metadataqa/marc/dao/DataField.java index 61fb39283..c9be0eae9 100644 --- a/src/main/java/de/gwdg/metadataqa/marc/dao/DataField.java +++ b/src/main/java/de/gwdg/metadataqa/marc/dao/DataField.java @@ -5,8 +5,8 @@ import de.gwdg.metadataqa.marc.MarcSubfield; import de.gwdg.metadataqa.marc.Utils; import de.gwdg.metadataqa.marc.Validatable; +import de.gwdg.metadataqa.marc.dao.record.BibliographicRecord; import de.gwdg.metadataqa.marc.definition.Cardinality; -import de.gwdg.metadataqa.marc.definition.bibliographic.SchemaType; import de.gwdg.metadataqa.marc.definition.structure.DataFieldDefinition; import de.gwdg.metadataqa.marc.definition.structure.Indicator; import de.gwdg.metadataqa.marc.definition.MarcVersion; @@ -49,7 +49,7 @@ public class DataField implements Extractable, Validatable, Serializable { private Map> subfieldIndex = new LinkedHashMap<>(); private ErrorsCollector errors = null; private List unhandledSubfields = null; - private MarcRecord marcRecord; + private BibliographicRecord marcRecord; public DataField(T definition, String ind1, String ind2) { this.definition = definition; @@ -164,11 +164,11 @@ public static List parseSubfields(String content) { return subfields; } - public MarcRecord getMarcRecord() { + public BibliographicRecord getMarcRecord() { return marcRecord; } - public void setMarcRecord(MarcRecord marcRecord) { + public void setMarcRecord(BibliographicRecord marcRecord) { this.marcRecord = marcRecord; for (MarcSubfield marcSubfield : subfields) marcSubfield.setMarcRecord(marcRecord); diff --git a/src/main/java/de/gwdg/metadataqa/marc/dao/Leader.java b/src/main/java/de/gwdg/metadataqa/marc/dao/Leader.java index 6d2dadd4d..5a074dad9 100644 --- a/src/main/java/de/gwdg/metadataqa/marc/dao/Leader.java +++ b/src/main/java/de/gwdg/metadataqa/marc/dao/Leader.java @@ -2,6 +2,7 @@ import de.gwdg.metadataqa.marc.Extractable; import de.gwdg.metadataqa.marc.Validatable; +import de.gwdg.metadataqa.marc.dao.record.BibliographicRecord; import de.gwdg.metadataqa.marc.definition.*; import de.gwdg.metadataqa.marc.definition.controlpositions.LeaderPositions; import de.gwdg.metadataqa.marc.definition.structure.ControlfieldPositionDefinition; @@ -268,7 +269,7 @@ public ControlValue getLengthOfTheImplementationDefinedPortion() { return lengthOfTheImplementationDefinedPortion; } - public void setMarcRecord(MarcRecord marcRecord) { + public void setMarcRecord(BibliographicRecord marcRecord) { this.marcRecord = marcRecord; for (ControlValue value : valuesList) value.setMarcRecord(marcRecord); diff --git a/src/main/java/de/gwdg/metadataqa/marc/dao/MarcControlField.java b/src/main/java/de/gwdg/metadataqa/marc/dao/MarcControlField.java index fbd103ccc..663cf8172 100644 --- a/src/main/java/de/gwdg/metadataqa/marc/dao/MarcControlField.java +++ b/src/main/java/de/gwdg/metadataqa/marc/dao/MarcControlField.java @@ -2,6 +2,7 @@ import de.gwdg.metadataqa.marc.Extractable; import de.gwdg.metadataqa.marc.Validatable; +import de.gwdg.metadataqa.marc.dao.record.BibliographicRecord; import de.gwdg.metadataqa.marc.definition.structure.DataFieldDefinition; import de.gwdg.metadataqa.marc.definition.MarcVersion; import de.gwdg.metadataqa.marc.model.SolrFieldType; @@ -12,7 +13,7 @@ public class MarcControlField implements Validatable, Extractable, Serializable { - protected MarcRecord marcRecord; + protected BibliographicRecord marcRecord; protected DataFieldDefinition definition; protected String content; protected List initializationErrors = new ArrayList<>(); @@ -75,7 +76,7 @@ public List getValidationErrors() { return validationErrors; } - public void setMarcRecord(MarcRecord marcRecord) { + public void setMarcRecord(BibliographicRecord marcRecord) { this.marcRecord = marcRecord; } } diff --git a/src/main/java/de/gwdg/metadataqa/marc/dao/MarcPositionalControlField.java b/src/main/java/de/gwdg/metadataqa/marc/dao/MarcPositionalControlField.java index a0431aa12..a8cae56ea 100644 --- a/src/main/java/de/gwdg/metadataqa/marc/dao/MarcPositionalControlField.java +++ b/src/main/java/de/gwdg/metadataqa/marc/dao/MarcPositionalControlField.java @@ -1,5 +1,6 @@ package de.gwdg.metadataqa.marc.dao; +import de.gwdg.metadataqa.marc.dao.record.BibliographicRecord; import de.gwdg.metadataqa.marc.definition.*; import de.gwdg.metadataqa.marc.definition.structure.ControlFieldDefinition; import de.gwdg.metadataqa.marc.definition.structure.ControlfieldPositionDefinition; @@ -32,7 +33,7 @@ public MarcPositionalControlField(ControlFieldDefinition definition, } @Override - public void setMarcRecord(MarcRecord marcRecord) { + public void setMarcRecord(BibliographicRecord marcRecord) { super.setMarcRecord(marcRecord); for (ControlValue value : valuesList) { value.setMarcRecord(this.marcRecord); diff --git a/src/main/java/de/gwdg/metadataqa/marc/dao/MarcRecord.java b/src/main/java/de/gwdg/metadataqa/marc/dao/record/BibliographicRecord.java similarity index 94% rename from src/main/java/de/gwdg/metadataqa/marc/dao/MarcRecord.java rename to src/main/java/de/gwdg/metadataqa/marc/dao/record/BibliographicRecord.java index 8efee73cb..209b06055 100644 --- a/src/main/java/de/gwdg/metadataqa/marc/dao/MarcRecord.java +++ b/src/main/java/de/gwdg/metadataqa/marc/dao/record/BibliographicRecord.java @@ -1,4 +1,4 @@ -package de.gwdg.metadataqa.marc.dao; +package de.gwdg.metadataqa.marc.dao.record; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; @@ -8,6 +8,16 @@ import de.gwdg.metadataqa.marc.Utils; import de.gwdg.metadataqa.marc.Validatable; import de.gwdg.metadataqa.marc.cli.utils.IgnorableFields; +import de.gwdg.metadataqa.marc.dao.Control001; +import de.gwdg.metadataqa.marc.dao.Control003; +import de.gwdg.metadataqa.marc.dao.Control005; +import de.gwdg.metadataqa.marc.dao.Control006; +import de.gwdg.metadataqa.marc.dao.Control007; +import de.gwdg.metadataqa.marc.dao.Control008; +import de.gwdg.metadataqa.marc.dao.DataField; +import de.gwdg.metadataqa.marc.dao.Leader; +import de.gwdg.metadataqa.marc.dao.MarcControlField; +import de.gwdg.metadataqa.marc.dao.MarcPositionalControlField; import de.gwdg.metadataqa.marc.definition.*; import de.gwdg.metadataqa.marc.definition.bibliographic.SchemaType; import de.gwdg.metadataqa.marc.definition.general.validator.ClassificationReferenceValidator; @@ -31,9 +41,9 @@ import static de.gwdg.metadataqa.marc.Utils.count; -public class MarcRecord implements Extractable, Validatable, Serializable { +public abstract class BibliographicRecord implements Extractable, Validatable, Serializable { - private static final Logger logger = Logger.getLogger(MarcRecord.class.getCanonicalName()); + private static final Logger logger = Logger.getLogger(BibliographicRecord.class.getCanonicalName()); private static final Pattern dataFieldPattern = Pattern.compile("^(\\d\\d\\d)\\$(.*)$"); private static final Pattern positionalPattern = Pattern.compile("^(Leader|00[678])/(.*)$"); private static final List simpleControlTags = Arrays.asList("001", "003", "005"); @@ -68,14 +78,14 @@ public enum RESOLVE { private List unhandledTags; - public MarcRecord() { + public BibliographicRecord() { datafields = new ArrayList<>(); datafieldIndex = new TreeMap<>(); controlfieldIndex = new TreeMap<>(); unhandledTags = new ArrayList<>(); } - public MarcRecord(String id) { + public BibliographicRecord(String id) { this(); control001 = new Control001(id); } @@ -130,10 +140,10 @@ public MarcControlField getControl001() { return control001; } - public MarcRecord setControl001(MarcControlField control001) { + public BibliographicRecord setControl001(MarcControlField control001) { this.control001 = control001; control001.setMarcRecord(this); - controlfieldIndex.put(control001.definition.getTag(), Arrays.asList(control001)); + controlfieldIndex.put(control001.getDefinition().getTag(), Arrays.asList(control001)); return this; } @@ -144,7 +154,7 @@ public MarcControlField getControl003() { public void setControl003(MarcControlField control003) { this.control003 = control003; control003.setMarcRecord(this); - controlfieldIndex.put(control003.definition.getTag(), Arrays.asList(control003)); + controlfieldIndex.put(control003.getDefinition().getTag(), Arrays.asList(control003)); } public MarcControlField getControl005() { @@ -154,7 +164,7 @@ public MarcControlField getControl005() { public void setControl005(MarcControlField control005) { this.control005 = control005; control005.setMarcRecord(this); - controlfieldIndex.put(control005.definition.getTag(), Arrays.asList(control005)); + controlfieldIndex.put(control005.getDefinition().getTag(), Arrays.asList(control005)); } public List getControl006() { @@ -164,7 +174,7 @@ public List getControl006() { public void setControl006(Control006 control006) { this.control006.add(control006); control006.setMarcRecord(this); - controlfieldIndex.put(control006.definition.getTag(), (List) this.control006); + controlfieldIndex.put(control006.getDefinition().getTag(), (List) this.control006); } public List getControl007() { @@ -174,7 +184,7 @@ public List getControl007() { public void setControl007(Control007 control007) { this.control007.add(control007); control007.setMarcRecord(this); - controlfieldIndex.put(control007.definition.getTag(), (List) this.control007); + controlfieldIndex.put(control007.getDefinition().getTag(), (List) this.control007); } public Control008 getControl008() { @@ -184,7 +194,7 @@ public Control008 getControl008() { public void setControl008(Control008 control008) { this.control008 = control008; control008.setMarcRecord(this); - controlfieldIndex.put(control008.definition.getTag(), Arrays.asList(control008)); + controlfieldIndex.put(control008.getDefinition().getTag(), Arrays.asList(control008)); } public String getId() { @@ -619,7 +629,7 @@ public List select(MarcSpec selector) { for (MarcControlField field : controlfieldIndex.get(selector.getFieldTag())) { if (field == null) continue; - if (!simpleControlTags.contains(field.definition.getTag())) { + if (!simpleControlTags.contains(field.getDefinition().getTag())) { // TODO: check control subfields } if (selector.hasRangeSelector()) { @@ -752,13 +762,8 @@ private void searchPositionalControlField(MarcPositionalControlField controlFiel } } - public List getAuthorityFields() { + public List getAuthorityFields(List tags) { List subjects = new ArrayList<>(); - List tags = Arrays.asList( - "100", "110", "111", "130", - "700", "710", "711", "730", "720", "740", "751", "752", "753", "754", - "800", "810", "811", "830" - ); for (String tag : tags) { List fields = getDatafield(tag); if (fields != null && !fields.isEmpty()) @@ -767,6 +772,18 @@ public List getAuthorityFields() { return subjects; } + abstract public List getAuthorityFields(); + + /* + public List getAuthorityFields() { + List tags = Arrays.asList( + "100", "110", "111", "130", + "700", "710", "711", "730", "720", "740", "751", "752", "753", "754", + "800", "810", "811", "830" + ); + } + */ + public List getSubjects() { List subjects = new ArrayList<>(); List tags; diff --git a/src/main/java/de/gwdg/metadataqa/marc/dao/record/Marc21Record.java b/src/main/java/de/gwdg/metadataqa/marc/dao/record/Marc21Record.java new file mode 100644 index 000000000..fa098b75e --- /dev/null +++ b/src/main/java/de/gwdg/metadataqa/marc/dao/record/Marc21Record.java @@ -0,0 +1,33 @@ +package de.gwdg.metadataqa.marc.dao.record; + +import de.gwdg.metadataqa.marc.dao.DataField; + +import java.util.Arrays; +import java.util.List; + +public class Marc21Record extends BibliographicRecord { + private static List authorityTags; + + public Marc21Record() { + super(); + } + + public Marc21Record(String id) { + super(id); + } + + public List getAuthorityFields() { + if (authorityTags == null) { + initializeAuthorityTags(); + } + return getAuthorityFields(authorityTags); + } + + private void initializeAuthorityTags() { + authorityTags = Arrays.asList( + "100", "110", "111", "130", + "700", "710", "711", "730", "720", "740", "751", "752", "753", "754", + "800", "810", "811", "830" + ); + } +} diff --git a/src/main/java/de/gwdg/metadataqa/marc/dao/record/PicaRecord.java b/src/main/java/de/gwdg/metadataqa/marc/dao/record/PicaRecord.java new file mode 100644 index 000000000..c08707b72 --- /dev/null +++ b/src/main/java/de/gwdg/metadataqa/marc/dao/record/PicaRecord.java @@ -0,0 +1,51 @@ +package de.gwdg.metadataqa.marc.dao.record; + +import de.gwdg.metadataqa.marc.dao.DataField; + +import java.util.Arrays; +import java.util.List; + +public class PicaRecord extends BibliographicRecord { + + private static List authorityTags; + + public PicaRecord() { + super(); + } + + public PicaRecord(String id) { + super(id); + } + + + public List getAuthorityFields() { + if (authorityTags == null) { + initializeAuthorityTags(); + } + return getAuthorityFields(authorityTags); + } + + private static void initializeAuthorityTags() { + authorityTags = Arrays.asList( + "022A", // Werktitel und sonstige unterscheidende Merkmale des Werks + "022A", // Weiterer Werktitel und sonstige unterscheidende Merkmale + "028A", // Person/Familie als 1. geistiger Schöpfer + "028B", // 2. und weitere Verfasser + "028C", // Person/Familie als 2. und weiterer geistiger Schöpfer, sonstige Personen/Familien, die mit dem Werk in Verbindung stehen, Mitwirkende, Hersteller, Verlage, Vertriebe + "028E", // Interpret + "028G", // Sonstige Person/Familie + "029A", // Körperschaft als 1. geistiger Schöpfer + "029E", // Körperschaft als Interpret + "029F", // Körperschaft als 2. und weiterer geistiger Schöpfer, sonstige Körperschaften, die mit dem Werk in Verbindung stehen, Mitwirkende, Hersteller, Verlage, Vertriebe + "029G", // Sonstige Körperschaft + "032V", // Sonstige unterscheidende Eigenschaften des Werks + "032W", // Form des Werks + "032X", // Besetzung + "033D", // Normierter Ort + "033H", // Verbreitungsort in normierter Form + "033J", // Drucker, Verleger oder Buchhändler (bei Alten Drucken) + "037Q", // Beschreibung des Einbands + "037R" // Buchschmuck (Druckermarken, Vignetten, Zierleisten etc.) + ); + } +} diff --git a/src/main/java/de/gwdg/metadataqa/marc/definition/ControlValue.java b/src/main/java/de/gwdg/metadataqa/marc/definition/ControlValue.java index 76c88fb84..2373c1cff 100644 --- a/src/main/java/de/gwdg/metadataqa/marc/definition/ControlValue.java +++ b/src/main/java/de/gwdg/metadataqa/marc/definition/ControlValue.java @@ -1,6 +1,6 @@ package de.gwdg.metadataqa.marc.definition; -import de.gwdg.metadataqa.marc.dao.MarcRecord; +import de.gwdg.metadataqa.marc.dao.record.BibliographicRecord; import de.gwdg.metadataqa.marc.Validatable; import de.gwdg.metadataqa.marc.definition.general.parser.ParserException; import de.gwdg.metadataqa.marc.definition.general.parser.SubfieldContentParser; @@ -16,7 +16,7 @@ public class ControlValue implements Validatable, Serializable { private ControlfieldPositionDefinition definition; private String value; - private MarcRecord marcRecord; + private BibliographicRecord marcRecord; private List validationErrors; public ControlValue(ControlfieldPositionDefinition definition, String value) { @@ -24,7 +24,7 @@ public ControlValue(ControlfieldPositionDefinition definition, String value) { this.value = value; } - public void setMarcRecord(MarcRecord marcRecord) { + public void setMarcRecord(BibliographicRecord marcRecord) { this.marcRecord = marcRecord; } diff --git a/src/main/java/de/gwdg/metadataqa/marc/definition/PositionalControlField.java b/src/main/java/de/gwdg/metadataqa/marc/definition/PositionalControlField.java index 7991a264f..bb4742e98 100644 --- a/src/main/java/de/gwdg/metadataqa/marc/definition/PositionalControlField.java +++ b/src/main/java/de/gwdg/metadataqa/marc/definition/PositionalControlField.java @@ -1,7 +1,7 @@ package de.gwdg.metadataqa.marc.definition; import de.gwdg.metadataqa.marc.Extractable; -import de.gwdg.metadataqa.marc.dao.MarcRecord; +import de.gwdg.metadataqa.marc.dao.record.BibliographicRecord; import de.gwdg.metadataqa.marc.Validatable; import de.gwdg.metadataqa.marc.definition.structure.ControlfieldPositionDefinition; import de.gwdg.metadataqa.marc.model.SolrFieldType; @@ -12,7 +12,7 @@ public abstract class PositionalControlField extends ControlField implements Extractable, Validatable { - protected MarcRecord marcRecord; + protected BibliographicRecord marcRecord; protected Map valuesMap; protected List valuesList; protected List validationErrors; @@ -30,7 +30,7 @@ public boolean validate(MarcVersion marcVersion) { return isValid; } - public void setMarcRecord(MarcRecord marcRecord) { + public void setMarcRecord(BibliographicRecord marcRecord) { this.marcRecord = marcRecord; for (ControlValue value : valuesList) { value.setMarcRecord(marcRecord); diff --git a/src/main/java/de/gwdg/metadataqa/marc/definition/general/validator/ClassificationReferenceValidator.java b/src/main/java/de/gwdg/metadataqa/marc/definition/general/validator/ClassificationReferenceValidator.java index 443429619..ab258fa1b 100644 --- a/src/main/java/de/gwdg/metadataqa/marc/definition/general/validator/ClassificationReferenceValidator.java +++ b/src/main/java/de/gwdg/metadataqa/marc/definition/general/validator/ClassificationReferenceValidator.java @@ -1,7 +1,7 @@ package de.gwdg.metadataqa.marc.definition.general.validator; import de.gwdg.metadataqa.marc.dao.DataField; -import de.gwdg.metadataqa.marc.dao.MarcRecord; +import de.gwdg.metadataqa.marc.dao.record.BibliographicRecord; import de.gwdg.metadataqa.marc.MarcSubfield; import de.gwdg.metadataqa.marc.definition.*; import de.gwdg.metadataqa.marc.model.validation.ValidationError; @@ -20,7 +20,7 @@ public class ClassificationReferenceValidator implements RecordValidator, FieldV "600", "610", "611", "630", "647", "648", "650", "651", "655", "656", "657", "852" ); - public static ValidatorResponse validate(MarcRecord marcRecord) { + public static ValidatorResponse validate(BibliographicRecord marcRecord) { ValidatorResponse response = new ValidatorResponse(); for (String tag : fields) { if (marcRecord.exists(tag)) { diff --git a/src/main/java/de/gwdg/metadataqa/marc/definition/general/validator/RecordValidator.java b/src/main/java/de/gwdg/metadataqa/marc/definition/general/validator/RecordValidator.java index 9759b7d1c..205946d08 100644 --- a/src/main/java/de/gwdg/metadataqa/marc/definition/general/validator/RecordValidator.java +++ b/src/main/java/de/gwdg/metadataqa/marc/definition/general/validator/RecordValidator.java @@ -1,11 +1,11 @@ package de.gwdg.metadataqa.marc.definition.general.validator; -import de.gwdg.metadataqa.marc.dao.MarcRecord; +import de.gwdg.metadataqa.marc.dao.record.BibliographicRecord; import de.gwdg.metadataqa.marc.definition.ValidatorResponse; public interface RecordValidator { - static ValidatorResponse isValid(MarcRecord marcRecord) { + static ValidatorResponse isValid(BibliographicRecord marcRecord) { return new ValidatorResponse(); } } diff --git a/src/test/java/de/gwdg/metadataqa/marc/MarcFactoryTest.java b/src/test/java/de/gwdg/metadataqa/marc/MarcFactoryTest.java index 95a6b7052..7390306cd 100644 --- a/src/test/java/de/gwdg/metadataqa/marc/MarcFactoryTest.java +++ b/src/test/java/de/gwdg/metadataqa/marc/MarcFactoryTest.java @@ -3,7 +3,7 @@ import de.gwdg.metadataqa.api.model.pathcache.JsonPathCache; import de.gwdg.metadataqa.api.util.FileUtils; import de.gwdg.metadataqa.marc.dao.DataField; -import de.gwdg.metadataqa.marc.dao.MarcRecord; +import de.gwdg.metadataqa.marc.dao.record.BibliographicRecord; import de.gwdg.metadataqa.marc.definition.MarcVersion; import de.gwdg.metadataqa.marc.model.SolrFieldType; import de.gwdg.metadataqa.marc.utils.alephseq.AlephseqLine; @@ -27,7 +27,7 @@ public class MarcFactoryTest { public void mainTest() throws IOException, URISyntaxException { JsonPathCache cache = new JsonPathCache(FileUtils.readFirstLineFromResource("general/verbund-tit.001.0000000.formatted.json")); - MarcRecord marcRecord = MarcFactory.create(cache, MarcVersion.DNB); + BibliographicRecord marcRecord = MarcFactory.create(cache, MarcVersion.DNB); assertNotNull(marcRecord); assertNotNull("Leader should not be null", marcRecord.getLeader()); // System.err.println(record.format()); @@ -425,7 +425,7 @@ public void mainTest() throws IOException, URISyntaxException { public void marc2Test() throws IOException, URISyntaxException { JsonPathCache cache = new JsonPathCache(FileUtils.readFirstLineFromResource("general/marc2.json")); - MarcRecord marcRecord = MarcFactory.create(cache); + BibliographicRecord marcRecord = MarcFactory.create(cache); assertNotNull(marcRecord); assertNotNull("Leader should not be null", marcRecord.getLeader()); @@ -449,7 +449,7 @@ public void marc2Test() throws IOException, URISyntaxException { public void getKeyValuePairTest() throws IOException, URISyntaxException { JsonPathCache cache = new JsonPathCache(FileUtils.readFirstLineFromResource("general/verbund-tit.001.0000000.formatted.json")); - MarcRecord marcRecord = MarcFactory.create(cache, MarcVersion.DNB); + BibliographicRecord marcRecord = MarcFactory.create(cache, MarcVersion.DNB); Map> pairs = marcRecord.getKeyValuePairs(SolrFieldType.MIXED); assertEquals(121, pairs.size()); @@ -587,14 +587,14 @@ public void testCreateFromFormattedText() throws IOException, URISyntaxException String marcRecordAsText = StringUtils.join(lines, "\n"); assertEquals(1845, marcRecordAsText.length()); - MarcRecord marcRecord = MarcFactory.createFromFormattedText(marcRecordAsText); + BibliographicRecord marcRecord = MarcFactory.createFromFormattedText(marcRecordAsText); test01000011RecordProperties(marcRecord); } @Test public void testCreateFromFormattedText_asList() throws IOException, URISyntaxException { List lines = FileUtils.readLinesFromResource("marctxt/010000011.mrctxt"); - MarcRecord marcRecord = MarcFactory.createFromFormattedText(lines); + BibliographicRecord marcRecord = MarcFactory.createFromFormattedText(lines); test01000011RecordProperties(marcRecord); } @@ -614,7 +614,7 @@ public void testCreateFromAlephseq_MarcRecord() throws IOException, URISyntaxExc reader = new BufferedReader(new FileReader(path.toString())); String line = reader.readLine(); - MarcRecord marcRecord = null; + BibliographicRecord marcRecord = null; List lines = new ArrayList<>(); while (line != null) { AlephseqLine alephseqLine = new AlephseqLine(line); @@ -684,15 +684,15 @@ public void createUnimarcFromFormattedText() throws IOException, URISyntaxExcept String marcRecordAsText = StringUtils.join(lines, "\n"); assertEquals(2319, marcRecordAsText.length()); - MarcRecord marcRecord = MarcFactory.createFromFormattedText(marcRecordAsText, MarcVersion.UNIMARC); + BibliographicRecord marcRecord = MarcFactory.createFromFormattedText(marcRecordAsText, MarcVersion.UNIMARC); testUnimarcRecordProperties(marcRecord); } - private void testUnimarcRecordProperties(MarcRecord marcRecord) { + private void testUnimarcRecordProperties(BibliographicRecord marcRecord) { assertEquals("02794cam0 2200709 450 ", marcRecord.getLeader().getLeaderString()); } - private void test01000011RecordProperties(MarcRecord marcRecord) { + private void test01000011RecordProperties(BibliographicRecord marcRecord) { assertEquals("02191cam a2200541 4500", marcRecord.getLeader().getLeaderString()); assertEquals("861106s1985 xx ||||| 10| ||ger c", marcRecord.getControl008().getContent()); assertEquals(3, marcRecord.getDatafield("689").size()); diff --git a/src/test/java/de/gwdg/metadataqa/marc/ValidationTest.java b/src/test/java/de/gwdg/metadataqa/marc/ValidationTest.java index 36ccbef9c..a8a64aa6f 100644 --- a/src/test/java/de/gwdg/metadataqa/marc/ValidationTest.java +++ b/src/test/java/de/gwdg/metadataqa/marc/ValidationTest.java @@ -12,7 +12,8 @@ import de.gwdg.metadataqa.marc.dao.Control008; import de.gwdg.metadataqa.marc.dao.DataField; import de.gwdg.metadataqa.marc.dao.Leader; -import de.gwdg.metadataqa.marc.dao.MarcRecord; +import de.gwdg.metadataqa.marc.dao.record.Marc21Record; +import de.gwdg.metadataqa.marc.dao.record.BibliographicRecord; import de.gwdg.metadataqa.marc.definition.MarcVersion; import de.gwdg.metadataqa.marc.definition.tags.oclctags.Tag090; import de.gwdg.metadataqa.marc.definition.tags.sztetags.Tag596; @@ -52,7 +53,7 @@ public void testFullStructure() throws URISyntaxException, IOException { @Test public void test246_6() throws URISyntaxException, IOException { - MarcRecord marcRecord = new MarcRecord("u2407796"); + BibliographicRecord marcRecord = new Marc21Record("u2407796"); marcRecord.setLeader(new Leader("00860cam a22002774a 45 0")); marcRecord.setControl003(new Control003("SIRSI")); marcRecord.setControl005(new Control005("20080331162830.0")); @@ -105,7 +106,7 @@ public void test246_6() throws URISyntaxException, IOException { @Test public void testAFile() throws URISyntaxException, IOException { List lines = FileUtils.readLinesFromResource("marctxt/010000011.mrctxt"); - MarcRecord marcRecord = MarcFactory.createFromFormattedText(lines, MarcVersion.MARC21); + BibliographicRecord marcRecord = MarcFactory.createFromFormattedText(lines, MarcVersion.MARC21); assertFalse(marcRecord.validate(MarcVersion.MARC21, true)); assertEquals(21, marcRecord.getValidationErrors().size()); } @@ -113,7 +114,7 @@ public void testAFile() throws URISyntaxException, IOException { @Test public void testABLFile() throws URISyntaxException, IOException { List lines = FileUtils.readLinesFromResource("bl/006013122.mrctxt"); - MarcRecord marcRecord = MarcFactory.createFromFormattedText(lines, MarcVersion.BL); + BibliographicRecord marcRecord = MarcFactory.createFromFormattedText(lines, MarcVersion.BL); assertEquals(Arrays.asList( "FMT", "019", "020", "040", "100", "245", "260", "336", "337", "338", "590", "966", "979", "CAT", "CAT", "CAT", "CAT", "FIN", "LEO", "SRC", "STA", "LAS"), diff --git a/src/test/java/de/gwdg/metadataqa/marc/analysis/AuthorithyAnalyzerTest.java b/src/test/java/de/gwdg/metadataqa/marc/analysis/AuthorithyAnalyzerTest.java index cc8c55c96..9e7b686c9 100644 --- a/src/test/java/de/gwdg/metadataqa/marc/analysis/AuthorithyAnalyzerTest.java +++ b/src/test/java/de/gwdg/metadataqa/marc/analysis/AuthorithyAnalyzerTest.java @@ -2,7 +2,7 @@ import de.gwdg.metadataqa.api.util.FileUtils; import de.gwdg.metadataqa.marc.MarcFactory; -import de.gwdg.metadataqa.marc.dao.MarcRecord; +import de.gwdg.metadataqa.marc.dao.record.BibliographicRecord; import de.gwdg.metadataqa.marc.cli.utils.Schema; import org.junit.Test; @@ -18,7 +18,7 @@ public class AuthorithyAnalyzerTest { @Test public void test() throws IOException, URISyntaxException { List lines = FileUtils.readLinesFromResource("marctxt/010000011.mrctxt"); - MarcRecord marcRecord = MarcFactory.createFromFormattedText(lines); + BibliographicRecord marcRecord = MarcFactory.createFromFormattedText(lines); AuthorityStatistics statistics = new AuthorityStatistics(); AuthorithyAnalyzer analyzer = new AuthorithyAnalyzer(marcRecord, statistics); diff --git a/src/test/java/de/gwdg/metadataqa/marc/analysis/BLClassifierTest.java b/src/test/java/de/gwdg/metadataqa/marc/analysis/BLClassifierTest.java index 06fc5ffe6..e54447ab2 100644 --- a/src/test/java/de/gwdg/metadataqa/marc/analysis/BLClassifierTest.java +++ b/src/test/java/de/gwdg/metadataqa/marc/analysis/BLClassifierTest.java @@ -2,8 +2,7 @@ import de.gwdg.metadataqa.api.util.FileUtils; import de.gwdg.metadataqa.marc.MarcFactory; -import de.gwdg.metadataqa.marc.dao.DataField; -import de.gwdg.metadataqa.marc.dao.MarcRecord; +import de.gwdg.metadataqa.marc.dao.record.BibliographicRecord; import de.gwdg.metadataqa.marc.definition.MarcVersion; import org.junit.Test; @@ -18,7 +17,7 @@ public class BLClassifierTest { @Test public void testClassify() throws URISyntaxException, IOException { List lines = FileUtils.readLinesFromResource("bl/006013122.mrctxt"); - MarcRecord marcRecord = MarcFactory.createFromFormattedText(lines, MarcVersion.BL); + BibliographicRecord marcRecord = MarcFactory.createFromFormattedText(lines, MarcVersion.BL); BLClassifier classifier = new BLClassifier(); assertEquals("DEFICIENT", classifier.classify(marcRecord)); diff --git a/src/test/java/de/gwdg/metadataqa/marc/analysis/ClassificationAnalyzerTest.java b/src/test/java/de/gwdg/metadataqa/marc/analysis/ClassificationAnalyzerTest.java index 89b35bd1d..ffd1e0589 100644 --- a/src/test/java/de/gwdg/metadataqa/marc/analysis/ClassificationAnalyzerTest.java +++ b/src/test/java/de/gwdg/metadataqa/marc/analysis/ClassificationAnalyzerTest.java @@ -2,7 +2,7 @@ import de.gwdg.metadataqa.api.util.FileUtils; import de.gwdg.metadataqa.marc.MarcFactory; -import de.gwdg.metadataqa.marc.dao.MarcRecord; +import de.gwdg.metadataqa.marc.dao.record.BibliographicRecord; import de.gwdg.metadataqa.marc.cli.utils.Schema; import de.gwdg.metadataqa.marc.model.kos.KosRegistry; import de.gwdg.metadataqa.marc.model.kos.KosType; @@ -20,7 +20,7 @@ public class ClassificationAnalyzerTest { @Test public void test() throws IOException, URISyntaxException { List lines = FileUtils.readLinesFromResource("marctxt/010000011.mrctxt"); - MarcRecord marcRecord = MarcFactory.createFromFormattedText(lines); + BibliographicRecord marcRecord = MarcFactory.createFromFormattedText(lines); ClassificationStatistics statistics = new ClassificationStatistics(); ClassificationAnalyzer analyzer = new ClassificationAnalyzer(marcRecord, statistics); @@ -52,7 +52,7 @@ public void test() throws IOException, URISyntaxException { @Test public void abbreviation() throws IOException, URISyntaxException { List lines = FileUtils.readLinesFromResource("marctxt/010000011.mrctxt"); - MarcRecord marcRecord = MarcFactory.createFromFormattedText(lines); + BibliographicRecord marcRecord = MarcFactory.createFromFormattedText(lines); ClassificationStatistics statistics = new ClassificationStatistics(); ClassificationAnalyzer analyzer = new ClassificationAnalyzer(marcRecord, statistics); diff --git a/src/test/java/de/gwdg/metadataqa/marc/analysis/NetworkAnalyzerTest.java b/src/test/java/de/gwdg/metadataqa/marc/analysis/NetworkAnalyzerTest.java index 192c103a6..5bb65a2b1 100644 --- a/src/test/java/de/gwdg/metadataqa/marc/analysis/NetworkAnalyzerTest.java +++ b/src/test/java/de/gwdg/metadataqa/marc/analysis/NetworkAnalyzerTest.java @@ -3,7 +3,7 @@ import de.gwdg.metadataqa.api.util.FileUtils; import de.gwdg.metadataqa.marc.dao.DataField; import de.gwdg.metadataqa.marc.MarcFactory; -import de.gwdg.metadataqa.marc.dao.MarcRecord; +import de.gwdg.metadataqa.marc.dao.record.BibliographicRecord; import org.junit.Before; import org.junit.Test; @@ -18,7 +18,7 @@ public class NetworkAnalyzerTest { - MarcRecord marcRecord; + BibliographicRecord marcRecord; @Before public void setup() throws IOException, URISyntaxException { diff --git a/src/test/java/de/gwdg/metadataqa/marc/analysis/SerialTest.java b/src/test/java/de/gwdg/metadataqa/marc/analysis/SerialTest.java index a4374a0fb..2ff39ea1b 100644 --- a/src/test/java/de/gwdg/metadataqa/marc/analysis/SerialTest.java +++ b/src/test/java/de/gwdg/metadataqa/marc/analysis/SerialTest.java @@ -1,7 +1,8 @@ package de.gwdg.metadataqa.marc.analysis; import de.gwdg.metadataqa.marc.dao.Leader; -import de.gwdg.metadataqa.marc.dao.MarcRecord; +import de.gwdg.metadataqa.marc.dao.record.Marc21Record; +import de.gwdg.metadataqa.marc.dao.record.BibliographicRecord; import org.apache.commons.lang3.StringUtils; import org.junit.Test; @@ -13,7 +14,7 @@ public class SerialTest { @Test public void test() { - MarcRecord marcRecord = new MarcRecord("ocn655855524"); + BibliographicRecord marcRecord = new Marc21Record("ocn655855524"); marcRecord.setLeader("02157cas a2200517Ka 4500"); marcRecord.setField("008", "100812c19359999ne.qx.p.o.....0...a0eng.d"); marcRecord.setField("006", "m.....o..d........"); diff --git a/src/test/java/de/gwdg/metadataqa/marc/analysis/ShelfReadyAnalysisTest.java b/src/test/java/de/gwdg/metadataqa/marc/analysis/ShelfReadyAnalysisTest.java index f82b6e594..a5b29243b 100644 --- a/src/test/java/de/gwdg/metadataqa/marc/analysis/ShelfReadyAnalysisTest.java +++ b/src/test/java/de/gwdg/metadataqa/marc/analysis/ShelfReadyAnalysisTest.java @@ -2,7 +2,7 @@ import de.gwdg.metadataqa.api.util.FileUtils; import de.gwdg.metadataqa.marc.MarcFactory; -import de.gwdg.metadataqa.marc.dao.MarcRecord; +import de.gwdg.metadataqa.marc.dao.record.BibliographicRecord; import org.apache.commons.lang3.StringUtils; import org.junit.Test; @@ -17,7 +17,7 @@ public class ShelfReadyAnalysisTest { @Test public void test_getScores() throws IOException, URISyntaxException { List lines = FileUtils.readLinesFromResource("marctxt/010000011.mrctxt"); - MarcRecord marcRecord = MarcFactory.createFromFormattedText(lines); + BibliographicRecord marcRecord = MarcFactory.createFromFormattedText(lines); List scores = ShelfReadyAnalysis.getScores(marcRecord); assertEquals( diff --git a/src/test/java/de/gwdg/metadataqa/marc/analysis/ThompsonTraillAnalysisTest.java b/src/test/java/de/gwdg/metadataqa/marc/analysis/ThompsonTraillAnalysisTest.java index d425cc4da..4b16a1c8c 100644 --- a/src/test/java/de/gwdg/metadataqa/marc/analysis/ThompsonTraillAnalysisTest.java +++ b/src/test/java/de/gwdg/metadataqa/marc/analysis/ThompsonTraillAnalysisTest.java @@ -2,7 +2,7 @@ import de.gwdg.metadataqa.api.util.FileUtils; import de.gwdg.metadataqa.marc.MarcFactory; -import de.gwdg.metadataqa.marc.dao.MarcRecord; +import de.gwdg.metadataqa.marc.dao.record.BibliographicRecord; import org.junit.Before; import org.junit.Test; @@ -16,7 +16,7 @@ public class ThompsonTraillAnalysisTest { - MarcRecord marcRecord; + BibliographicRecord marcRecord; @Before public void setup() throws IOException, URISyntaxException { diff --git a/src/test/java/de/gwdg/metadataqa/marc/analysis/ThompsonTraillScoresTest.java b/src/test/java/de/gwdg/metadataqa/marc/analysis/ThompsonTraillScoresTest.java index 5587b47c3..0ceb7221e 100644 --- a/src/test/java/de/gwdg/metadataqa/marc/analysis/ThompsonTraillScoresTest.java +++ b/src/test/java/de/gwdg/metadataqa/marc/analysis/ThompsonTraillScoresTest.java @@ -2,7 +2,7 @@ import de.gwdg.metadataqa.api.util.FileUtils; import de.gwdg.metadataqa.marc.MarcFactory; -import de.gwdg.metadataqa.marc.dao.MarcRecord; +import de.gwdg.metadataqa.marc.dao.record.BibliographicRecord; import org.junit.Before; import org.junit.Test; @@ -15,7 +15,7 @@ public class ThompsonTraillScoresTest { - MarcRecord marcRecord; + BibliographicRecord marcRecord; @Before public void setup() throws IOException, URISyntaxException { diff --git a/src/test/java/de/gwdg/metadataqa/marc/cli/AuthorityAnalysisTest.java b/src/test/java/de/gwdg/metadataqa/marc/cli/AuthorityAnalysisTest.java new file mode 100644 index 000000000..a5ca9dbdc --- /dev/null +++ b/src/test/java/de/gwdg/metadataqa/marc/cli/AuthorityAnalysisTest.java @@ -0,0 +1,29 @@ +package de.gwdg.metadataqa.marc.cli; + +import de.gwdg.metadataqa.marc.MarcFactory; +import de.gwdg.metadataqa.marc.dao.DataField; +import de.gwdg.metadataqa.marc.dao.record.BibliographicRecord; +import de.gwdg.metadataqa.marc.definition.MarcFormat; +import de.gwdg.metadataqa.marc.utils.QAMarcReaderFactory; +import de.gwdg.metadataqa.marc.utils.pica.PicaSchemaManager; +import de.gwdg.metadataqa.marc.utils.pica.PicaSchemaReader; +import org.junit.Test; +import org.marc4j.MarcReader; +import org.marc4j.marc.Record; + +import java.util.List; + +public class AuthorityAnalysisTest { + + @Test + public void pica() throws Exception { + PicaSchemaManager schema = PicaSchemaReader.createSchema(CliTestUtils.getTestResource("pica/k10plus.json")); + MarcReader reader = QAMarcReaderFactory.getFileReader(MarcFormat.PICA_PLAIN, CliTestUtils.getTestResource("pica/k10plus-sample.pica"), null); + reader.hasNext(); + Record record = reader.next(); + BibliographicRecord marcRecord = MarcFactory.createPicaFromMarc4j(record, schema); + List fields = marcRecord.getAuthorityFields(); + System.err.println(fields); + } + +} \ No newline at end of file diff --git a/src/test/java/de/gwdg/metadataqa/marc/cli/ClassificationAnalysisTest.java b/src/test/java/de/gwdg/metadataqa/marc/cli/ClassificationAnalysisTest.java index 7e78deddd..57e794d41 100644 --- a/src/test/java/de/gwdg/metadataqa/marc/cli/ClassificationAnalysisTest.java +++ b/src/test/java/de/gwdg/metadataqa/marc/cli/ClassificationAnalysisTest.java @@ -2,7 +2,7 @@ import de.gwdg.metadataqa.api.util.FileUtils; import de.gwdg.metadataqa.marc.MarcFactory; -import de.gwdg.metadataqa.marc.dao.MarcRecord; +import de.gwdg.metadataqa.marc.dao.record.BibliographicRecord; import de.gwdg.metadataqa.marc.cli.utils.RecordIterator; import de.gwdg.metadataqa.marc.utils.ReadMarc; import org.junit.Before; @@ -44,7 +44,7 @@ public void test() throws Exception { Path path = FileUtils.getPath("general/0001-01.mrc"); Record marc4jRecord = ReadMarc.read(path.toString()).get(0); ClassificationAnalysis analysis = new ClassificationAnalysis(new String[]{}); - MarcRecord marcRecord = MarcFactory.createFromMarc4j(marc4jRecord); + BibliographicRecord marcRecord = MarcFactory.createFromMarc4j(marc4jRecord); analysis.processRecord(marcRecord, 1); } diff --git a/src/test/java/de/gwdg/metadataqa/marc/cli/FormatterTest.java b/src/test/java/de/gwdg/metadataqa/marc/cli/FormatterTest.java index 753200dab..f81e7df1b 100644 --- a/src/test/java/de/gwdg/metadataqa/marc/cli/FormatterTest.java +++ b/src/test/java/de/gwdg/metadataqa/marc/cli/FormatterTest.java @@ -2,7 +2,7 @@ import de.gwdg.metadataqa.marc.MarcFactory; import de.gwdg.metadataqa.marc.cli.utils.RecordIterator; -import de.gwdg.metadataqa.marc.dao.MarcRecord; +import de.gwdg.metadataqa.marc.dao.record.BibliographicRecord; import de.gwdg.metadataqa.marc.definition.MarcFormat; import de.gwdg.metadataqa.marc.utils.QAMarcReaderFactory; import de.gwdg.metadataqa.marc.utils.pica.PicaSchemaManager; @@ -14,7 +14,6 @@ import org.marc4j.MarcReader; import org.marc4j.marc.Record; -import java.util.Arrays; import java.util.List; import static org.junit.Assert.*; @@ -45,7 +44,7 @@ public void pica() throws Exception { MarcReader reader = QAMarcReaderFactory.getFileReader(MarcFormat.PICA_PLAIN, CliTestUtils.getTestResource("pica/k10plus-sample.pica"), null); reader.hasNext(); Record record = reader.next(); - MarcRecord marcRecord = MarcFactory.createPicaFromMarc4j(record, schema); + BibliographicRecord marcRecord = MarcFactory.createPicaFromMarc4j(record, schema); PicaPath path = PicaPathParser.parse("001A$0"); List results = marcRecord.select(path); assertEquals(1, results.size()); @@ -57,7 +56,6 @@ public void pica() throws Exception { @Test public void formatter_pica() throws Exception { - Formatter processor = new Formatter(new String[]{ "--schemaType", "PICA", "--marcForma", "PICA_PLAIN", @@ -69,7 +67,5 @@ public void formatter_pica() throws Exception { }); RecordIterator iterator = new RecordIterator(processor); iterator.start(); - } - } \ No newline at end of file diff --git a/src/test/java/de/gwdg/metadataqa/marc/cli/FunctionalAnalysisTest.java b/src/test/java/de/gwdg/metadataqa/marc/cli/FunctionalAnalysisTest.java index 35bc0c2ca..2919a91e5 100644 --- a/src/test/java/de/gwdg/metadataqa/marc/cli/FunctionalAnalysisTest.java +++ b/src/test/java/de/gwdg/metadataqa/marc/cli/FunctionalAnalysisTest.java @@ -2,7 +2,7 @@ import de.gwdg.metadataqa.api.util.FileUtils; import de.gwdg.metadataqa.marc.MarcFactory; -import de.gwdg.metadataqa.marc.dao.MarcRecord; +import de.gwdg.metadataqa.marc.dao.record.BibliographicRecord; import de.gwdg.metadataqa.marc.utils.ReadMarc; import org.junit.Test; import org.marc4j.marc.Record; @@ -18,7 +18,7 @@ public void test() throws Exception { Path path = FileUtils.getPath("general/0001-01.mrc"); Record marc4jRecord = ReadMarc.read(path.toString()).get(0); FunctionalAnalysis analysis = new FunctionalAnalysis(new String[]{}); - MarcRecord marcRecord = MarcFactory.createFromMarc4j(marc4jRecord); + BibliographicRecord marcRecord = MarcFactory.createFromMarc4j(marc4jRecord); analysis.processRecord(marcRecord, 1); } } diff --git a/src/test/java/de/gwdg/metadataqa/marc/cli/IndexingTest.java b/src/test/java/de/gwdg/metadataqa/marc/cli/IndexingTest.java index ad2c4901e..c4a731c62 100644 --- a/src/test/java/de/gwdg/metadataqa/marc/cli/IndexingTest.java +++ b/src/test/java/de/gwdg/metadataqa/marc/cli/IndexingTest.java @@ -2,7 +2,8 @@ import de.gwdg.metadataqa.api.util.FileUtils; import de.gwdg.metadataqa.marc.MarcFactory; -import de.gwdg.metadataqa.marc.dao.MarcRecord; +import de.gwdg.metadataqa.marc.dao.record.Marc21Record; +import de.gwdg.metadataqa.marc.dao.record.BibliographicRecord; import de.gwdg.metadataqa.marc.definition.MarcVersion; import de.gwdg.metadataqa.marc.model.SolrFieldType; import org.junit.Test; @@ -19,7 +20,7 @@ public class IndexingTest { @Test public void testIndexing710() throws IOException, URISyntaxException { List lines = FileUtils.readLinesFromResource("marctxt/010000011.mrctxt"); - MarcRecord marcRecord = MarcFactory.createFromFormattedText(lines); + BibliographicRecord marcRecord = MarcFactory.createFromFormattedText(lines); Map> index = marcRecord.getKeyValuePairs(SolrFieldType.MIXED, MarcVersion.DNB); assertEquals(136, index.size()); assertEquals("(DE-576)19168161X", @@ -38,7 +39,7 @@ public void testIndexing710() throws IOException, URISyntaxException { @Test public void testSubfieldCode() throws IOException, URISyntaxException { - MarcRecord marcRecord = new MarcRecord(); + BibliographicRecord marcRecord = new Marc21Record(); marcRecord.setLeader("01445cem a22004454a 4500"); marcRecord.setField("034", "0 $aa"); assertEquals(1, marcRecord.getDatafield("034").size()); @@ -48,7 +49,7 @@ public void testSubfieldCode() throws IOException, URISyntaxException { @Test public void testPositions() throws IOException, URISyntaxException { - MarcRecord marcRecord = new MarcRecord(); + BibliographicRecord marcRecord = new Marc21Record(); marcRecord.setLeader("01445cem a22004454a 4500"); marcRecord.setField("800", "0 $7aa"); assertEquals(1, marcRecord.getDatafield("800").size()); diff --git a/src/test/java/de/gwdg/metadataqa/marc/cli/MarcToSolrTest.java b/src/test/java/de/gwdg/metadataqa/marc/cli/MarcToSolrTest.java index 01626eca4..04a41de40 100644 --- a/src/test/java/de/gwdg/metadataqa/marc/cli/MarcToSolrTest.java +++ b/src/test/java/de/gwdg/metadataqa/marc/cli/MarcToSolrTest.java @@ -1,25 +1,21 @@ package de.gwdg.metadataqa.marc.cli; -import de.gwdg.metadataqa.api.util.FileUtils; import de.gwdg.metadataqa.marc.MarcFactory; import de.gwdg.metadataqa.marc.dao.DataField; import de.gwdg.metadataqa.marc.dao.Leader; -import de.gwdg.metadataqa.marc.dao.MarcRecord; +import de.gwdg.metadataqa.marc.dao.record.Marc21Record; +import de.gwdg.metadataqa.marc.dao.record.BibliographicRecord; import de.gwdg.metadataqa.marc.definition.MarcFormat; import de.gwdg.metadataqa.marc.definition.MarcVersion; import de.gwdg.metadataqa.marc.definition.tags.tags76x.Tag787; import de.gwdg.metadataqa.marc.model.SolrFieldType; import de.gwdg.metadataqa.marc.utils.QAMarcReaderFactory; -import de.gwdg.metadataqa.marc.utils.pica.PicaFieldDefinition; import de.gwdg.metadataqa.marc.utils.pica.PicaSchemaManager; import de.gwdg.metadataqa.marc.utils.pica.PicaSchemaReader; import org.junit.Test; import org.marc4j.MarcReader; import org.marc4j.marc.Record; -import java.io.IOException; -import java.net.URISyntaxException; -import java.nio.file.Paths; import java.util.Arrays; import java.util.List; import java.util.Map; @@ -31,7 +27,7 @@ public class MarcToSolrTest { @Test public void testVersionSpecificSubfield() { - MarcRecord marcRecord = new MarcRecord("010000011"); + BibliographicRecord marcRecord = new Marc21Record("010000011"); marcRecord.setLeader(new Leader("00860cam a22002774a 45 0")); marcRecord.addDataField(new DataField(Tag787.getInstance(), " ", " ","@", "japan")); Map> solr = marcRecord.getKeyValuePairs(SolrFieldType.MIXED, false, MarcVersion.KBR); @@ -41,11 +37,11 @@ public void testVersionSpecificSubfield() { @Test public void pica() throws Exception { - PicaSchemaManager schema = PicaSchemaReader.createSchema(CliTestUtils.getPath("pica/k10plus.json")); - MarcReader reader = QAMarcReaderFactory.getFileReader(MarcFormat.PICA_PLAIN, getFile("pica/k10plus-sample.pica"), null); + PicaSchemaManager schema = PicaSchemaReader.createSchema(CliTestUtils.getTestResource("pica/k10plus.json")); + MarcReader reader = QAMarcReaderFactory.getFileReader(MarcFormat.PICA_PLAIN, CliTestUtils.getTestResource("pica/k10plus-sample.pica"), null); reader.hasNext(); Record record = reader.next(); - MarcRecord marcRecord = MarcFactory.createPicaFromMarc4j(record, schema); + BibliographicRecord marcRecord = MarcFactory.createPicaFromMarc4j(record, schema); Map> map = marcRecord.getKeyValuePairs(SolrFieldType.HUMAN, true, MarcVersion.MARC21); // System.err.println(map.keySet()); System.err.println(marcRecord.asJson()); @@ -58,19 +54,4 @@ public void name() { assertEquals(1, "b".compareTo("a")); assertEquals(-1, "b".compareTo("c")); } - - private String getFile(String relativePath) { - try { - return FileUtils.getPath(relativePath).toFile().getAbsolutePath(); - } catch (IOException e) { - // throw new RuntimeException(e); - } catch (URISyntaxException e) { - // throw new RuntimeException(e); - } - return ""; - } - - private String getPath(String fileName) { - return Paths.get("src/test/resources/" + fileName).toAbsolutePath().toString(); - } } \ No newline at end of file diff --git a/src/test/java/de/gwdg/metadataqa/marc/cli/parameters/Validating006.java b/src/test/java/de/gwdg/metadataqa/marc/cli/parameters/Validating006.java index 7561ec99f..704c03872 100644 --- a/src/test/java/de/gwdg/metadataqa/marc/cli/parameters/Validating006.java +++ b/src/test/java/de/gwdg/metadataqa/marc/cli/parameters/Validating006.java @@ -2,7 +2,8 @@ import de.gwdg.metadataqa.marc.dao.Control006; import de.gwdg.metadataqa.marc.dao.Leader; -import de.gwdg.metadataqa.marc.dao.MarcRecord; +import de.gwdg.metadataqa.marc.dao.record.Marc21Record; +import de.gwdg.metadataqa.marc.dao.record.BibliographicRecord; import de.gwdg.metadataqa.marc.definition.MarcVersion; import de.gwdg.metadataqa.marc.model.validation.ValidationErrorType; import org.junit.Test; @@ -14,7 +15,7 @@ public class Validating006 { @Test public void test() { - MarcRecord marcRecord = new MarcRecord("001441164"); + BibliographicRecord marcRecord = new Marc21Record("001441164"); marcRecord.setLeader(new Leader("02945nam a22005657a 4500")); marcRecord.setControl006(new Control006("jccnn n", Leader.Type.BOOKS)); boolean isValid = marcRecord.validate(MarcVersion.MARC21); diff --git a/src/test/java/de/gwdg/metadataqa/marc/cli/utils/ignorablerecords/RecordIgnoratorMarc21Test.java b/src/test/java/de/gwdg/metadataqa/marc/cli/utils/ignorablerecords/RecordIgnoratorMarc21Test.java index 8b6474723..1d4a6f20b 100644 --- a/src/test/java/de/gwdg/metadataqa/marc/cli/utils/ignorablerecords/RecordIgnoratorMarc21Test.java +++ b/src/test/java/de/gwdg/metadataqa/marc/cli/utils/ignorablerecords/RecordIgnoratorMarc21Test.java @@ -1,8 +1,8 @@ package de.gwdg.metadataqa.marc.cli.utils.ignorablerecords; -import de.gwdg.metadataqa.marc.cli.utils.ignorablerecords.RecordIgnoratorMarc21; import de.gwdg.metadataqa.marc.dao.DataField; -import de.gwdg.metadataqa.marc.dao.MarcRecord; +import de.gwdg.metadataqa.marc.dao.record.Marc21Record; +import de.gwdg.metadataqa.marc.dao.record.BibliographicRecord; import org.junit.Test; import static org.junit.Assert.*; @@ -21,7 +21,7 @@ public void testParse() { public void isIgnorable() { conditions = new RecordIgnoratorMarc21("STA$s=SUPPRESSED"); - MarcRecord marcRecord = new MarcRecord("test"); + BibliographicRecord marcRecord = new Marc21Record("test"); DataField field = new DataField("STA", " $sSUPPRESSED"); field.setMarcRecord(marcRecord); marcRecord.addDataField(field); diff --git a/src/test/java/de/gwdg/metadataqa/marc/cli/utils/ignorablerecords/RecordIgnoratorPicaTest.java b/src/test/java/de/gwdg/metadataqa/marc/cli/utils/ignorablerecords/RecordIgnoratorPicaTest.java index bb78cc72c..e18dc0b60 100644 --- a/src/test/java/de/gwdg/metadataqa/marc/cli/utils/ignorablerecords/RecordIgnoratorPicaTest.java +++ b/src/test/java/de/gwdg/metadataqa/marc/cli/utils/ignorablerecords/RecordIgnoratorPicaTest.java @@ -1,16 +1,14 @@ package de.gwdg.metadataqa.marc.cli.utils.ignorablerecords; import de.gwdg.metadataqa.marc.dao.DataField; -import de.gwdg.metadataqa.marc.dao.MarcRecord; +import de.gwdg.metadataqa.marc.dao.record.Marc21Record; +import de.gwdg.metadataqa.marc.dao.record.BibliographicRecord; import de.gwdg.metadataqa.marc.utils.parser.BooleanContainer; -import de.gwdg.metadataqa.marc.utils.pica.PicaFieldDefinition; import de.gwdg.metadataqa.marc.utils.pica.PicaSchemaManager; import de.gwdg.metadataqa.marc.utils.pica.PicaSchemaReader; import org.junit.Test; import java.nio.file.Paths; -import java.util.List; -import java.util.Map; import static org.junit.Assert.*; @@ -58,7 +56,7 @@ public void parse_ex5() { @Test public void isIgnorable_ex1() { - MarcRecord marcRecord = new MarcRecord("010000011"); + BibliographicRecord marcRecord = new Marc21Record("010000011"); marcRecord.addDataField(new DataField(schema.lookup("002@"), " ", " ", "0", "L")); RecordIgnorator ignorator = new RecordIgnoratorPica("002@.0 =~ '^L'"); @@ -162,14 +160,14 @@ private void testParsing(String ignorableRecordsInput, int size, String path, Op } private void isIgnorable(String abk, String ignorableRecordsInput) { - MarcRecord marcRecord = new MarcRecord("010000011"); + BibliographicRecord marcRecord = new Marc21Record("010000011"); marcRecord.addDataField(new DataField(schema.lookup("002@"), " ", " ", "0", abk)); RecordIgnorator ignorator = new RecordIgnoratorPica(ignorableRecordsInput); assertTrue(ignorator.isIgnorable(marcRecord)); } private void isIgnorableFailing(String abM, String ignorableRecordsInput) { - MarcRecord marcRecord = new MarcRecord("010000011"); + BibliographicRecord marcRecord = new Marc21Record("010000011"); marcRecord.addDataField(new DataField(schema.lookup("002@"), " ", " ", "0", abM)); RecordIgnorator ignorator = new RecordIgnoratorPica(ignorableRecordsInput); assertFalse(ignorator.isIgnorable(marcRecord)); diff --git a/src/test/java/de/gwdg/metadataqa/marc/MarcRecordTest.java b/src/test/java/de/gwdg/metadataqa/marc/dao/BibliographicRecordTest.java similarity index 89% rename from src/test/java/de/gwdg/metadataqa/marc/MarcRecordTest.java rename to src/test/java/de/gwdg/metadataqa/marc/dao/BibliographicRecordTest.java index 60e7100fa..5b3ad1427 100644 --- a/src/test/java/de/gwdg/metadataqa/marc/MarcRecordTest.java +++ b/src/test/java/de/gwdg/metadataqa/marc/dao/BibliographicRecordTest.java @@ -1,13 +1,10 @@ -package de.gwdg.metadataqa.marc; +package de.gwdg.metadataqa.marc.dao; import de.gwdg.metadataqa.api.util.FileUtils; +import de.gwdg.metadataqa.marc.MarcFactory; import de.gwdg.metadataqa.marc.cli.parameters.CommonParameters; -import de.gwdg.metadataqa.marc.dao.Control003; -import de.gwdg.metadataqa.marc.dao.Control005; -import de.gwdg.metadataqa.marc.dao.Control007; -import de.gwdg.metadataqa.marc.dao.Control008; -import de.gwdg.metadataqa.marc.dao.Leader; -import de.gwdg.metadataqa.marc.dao.MarcRecord; +import de.gwdg.metadataqa.marc.dao.record.BibliographicRecord; +import de.gwdg.metadataqa.marc.dao.record.Marc21Record; import de.gwdg.metadataqa.marc.definition.MarcFormat; import de.gwdg.metadataqa.marc.definition.controltype.Control007Category; import de.gwdg.metadataqa.marc.utils.QAMarcReaderFactory; @@ -28,7 +25,7 @@ import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotNull; -public class MarcRecordTest { +public class BibliographicRecordTest { private static final Pattern positionalPattern = Pattern.compile("^(Leader|00[678])/(.*)$"); @@ -42,7 +39,7 @@ public void test() { public void testFromFile() throws Exception { Path path = FileUtils.getPath("general/0001-01.mrc"); List records = ReadMarc.read(path.toString()); - MarcRecord marcRecord = MarcFactory.createFromMarc4j(records.get(0)); + BibliographicRecord marcRecord = MarcFactory.createFromMarc4j(records.get(0)); String expected = "{\"leader\":\"00720cam a22002051 4500\"," + "\"001\":\" 00000002 \"," + @@ -88,7 +85,7 @@ public void testFromFile() throws Exception { public void testSelect() throws Exception { Path path = FileUtils.getPath("general/0001-01.mrc"); List records = ReadMarc.read(path.toString()); - MarcRecord marcRecord = MarcFactory.createFromMarc4j(records.get(0)); + BibliographicRecord marcRecord = MarcFactory.createFromMarc4j(records.get(0)); MarcSpec spec = new MarcSpec("008~0-5"); List results = marcRecord.select(spec); assertEquals(1, results.size()); @@ -107,7 +104,7 @@ public void testSelect() throws Exception { @Test public void testMultiple007() throws Exception { - MarcRecord marcRecord = new MarcRecord("010000011"); + BibliographicRecord marcRecord = new Marc21Record("010000011"); marcRecord.setLeader(new Leader("00860cam a22002774a 45 0")); marcRecord.setControl003(new Control003("DE-627")); marcRecord.setControl005(new Control005("20180502143346.0")); @@ -132,7 +129,7 @@ public void asJson() throws IOException, URISyntaxException { } catch (Exception e) { e.printStackTrace(); } - MarcRecord marcRecord = MarcFactory.createFromMarc4j(records.get(0)); + BibliographicRecord marcRecord = MarcFactory.createFromMarc4j(records.get(0)); assertNotNull(marcRecord); // System.err.println(record.asJson()); assertTrue(marcRecord.asJson().contains("\"245\":[{\"ind1\":\"1\",\"ind2\":\"0\",\"subfields\":{\"a\":\"Botanical materia medica and pharmacology;\"")); @@ -142,7 +139,7 @@ public void asJson() throws IOException, URISyntaxException { public void testFromMek() throws Exception { Path path = FileUtils.getPath("marc/22561.mrc"); List records = ReadMarc.read(path.toString(), "MARC8"); - MarcRecord marcRecord = MarcFactory.createFromMarc4j(records.get(0)); + BibliographicRecord marcRecord = MarcFactory.createFromMarc4j(records.get(0)); assertEquals(' ', records.get(0).getLeader().getCharCodingScheme()); assertEquals(" ", marcRecord.getLeader().getCharacterCodingScheme().getValue()); assertEquals("Az ítélet :", marcRecord.getDatafield("245").get(0).getSubfield("a").get(0).getValue()); @@ -155,7 +152,7 @@ public void testFileReaderFromMek() throws Exception { Record record = reader.next(); assertEquals(' ', record.getLeader().getCharCodingScheme()); - MarcRecord marcRecord = MarcFactory.createFromMarc4j(record); + BibliographicRecord marcRecord = MarcFactory.createFromMarc4j(record); assertEquals(" ", marcRecord.getLeader().getCharacterCodingScheme().getValue()); assertEquals("Az ítélet :", marcRecord.getDatafield("245").get(0).getSubfield("a").get(0).getValue()); assertEquals("[Följegyzések és dokumentumok néhány magyarországi református egyházi döntésről 1948 és 1998 között] :", marcRecord.getDatafield("245").get(0).getSubfield("b").get(0).getValue()); diff --git a/src/test/java/de/gwdg/metadataqa/marc/definition/DataFieldTest.java b/src/test/java/de/gwdg/metadataqa/marc/definition/DataFieldTest.java index c43304238..1c72914ef 100644 --- a/src/test/java/de/gwdg/metadataqa/marc/definition/DataFieldTest.java +++ b/src/test/java/de/gwdg/metadataqa/marc/definition/DataFieldTest.java @@ -1,7 +1,7 @@ package de.gwdg.metadataqa.marc.definition; import de.gwdg.metadataqa.marc.dao.DataField; -import de.gwdg.metadataqa.marc.dao.MarcRecord; +import de.gwdg.metadataqa.marc.dao.record.Marc21Record; import de.gwdg.metadataqa.marc.definition.structure.DataFieldDefinition; import de.gwdg.metadataqa.marc.definition.tags.tags01x.Tag040; import de.gwdg.metadataqa.marc.definition.tags.tags20x.Tag245; @@ -57,7 +57,7 @@ public void testGetKeyValuePairs() { @Test public void testUnhandledSubfields() { DataField tag040 = SubfieldParser.parseField(Tag040.getInstance(), " $aMt$cMt$xMt"); - tag040.setMarcRecord(new MarcRecord("123")); + tag040.setMarcRecord(new Marc21Record("123")); boolean valid = tag040.validate(MarcVersion.MARC21); assertFalse(valid); assertFalse(tag040.getValidationErrors().isEmpty()); diff --git a/src/test/java/de/gwdg/metadataqa/marc/definition/general/validator/ClassificationReferenceValidatorTest.java b/src/test/java/de/gwdg/metadataqa/marc/definition/general/validator/ClassificationReferenceValidatorTest.java index ad2a7fc1f..a3a2c07ab 100644 --- a/src/test/java/de/gwdg/metadataqa/marc/definition/general/validator/ClassificationReferenceValidatorTest.java +++ b/src/test/java/de/gwdg/metadataqa/marc/definition/general/validator/ClassificationReferenceValidatorTest.java @@ -1,7 +1,8 @@ package de.gwdg.metadataqa.marc.definition.general.validator; import de.gwdg.metadataqa.marc.dao.DataField; -import de.gwdg.metadataqa.marc.dao.MarcRecord; +import de.gwdg.metadataqa.marc.dao.record.Marc21Record; +import de.gwdg.metadataqa.marc.dao.record.BibliographicRecord; import de.gwdg.metadataqa.marc.definition.ValidatorResponse; import de.gwdg.metadataqa.marc.definition.tags.tags6xx.Tag650; import org.junit.Test; @@ -12,7 +13,7 @@ public class ClassificationReferenceValidatorTest { @Test public void test() { - MarcRecord marcRecord = new MarcRecord("test"); + BibliographicRecord marcRecord = new Marc21Record("test"); DataField field = new DataField(Tag650.getInstance(), " ", "7", "8", "3\\p", "0", "(DE-588)4020758-4", diff --git a/src/test/java/de/gwdg/metadataqa/marc/definition/general/validator/DateValidatorTest.java b/src/test/java/de/gwdg/metadataqa/marc/definition/general/validator/DateValidatorTest.java index 8dc394530..0407924eb 100644 --- a/src/test/java/de/gwdg/metadataqa/marc/definition/general/validator/DateValidatorTest.java +++ b/src/test/java/de/gwdg/metadataqa/marc/definition/general/validator/DateValidatorTest.java @@ -1,7 +1,8 @@ package de.gwdg.metadataqa.marc.definition.general.validator; import de.gwdg.metadataqa.marc.dao.DataField; -import de.gwdg.metadataqa.marc.dao.MarcRecord; +import de.gwdg.metadataqa.marc.dao.record.Marc21Record; +import de.gwdg.metadataqa.marc.dao.record.BibliographicRecord; import de.gwdg.metadataqa.marc.MarcSubfield; import de.gwdg.metadataqa.marc.definition.tags.tags01x.Tag020; import org.junit.Test; @@ -25,7 +26,7 @@ public void yyyy_MM_dd() { } private MarcSubfield createMarcSubfield(String value) { - MarcRecord marcRecord = new MarcRecord("test"); + BibliographicRecord marcRecord = new Marc21Record("test"); DataField field = new DataField(Tag020.getInstance(), " ", " ", "a", value); field.setMarcRecord(marcRecord); diff --git a/src/test/java/de/gwdg/metadataqa/marc/definition/general/validator/ISBNValidatorTest.java b/src/test/java/de/gwdg/metadataqa/marc/definition/general/validator/ISBNValidatorTest.java index 4e8a3c728..49a49475a 100644 --- a/src/test/java/de/gwdg/metadataqa/marc/definition/general/validator/ISBNValidatorTest.java +++ b/src/test/java/de/gwdg/metadataqa/marc/definition/general/validator/ISBNValidatorTest.java @@ -1,7 +1,8 @@ package de.gwdg.metadataqa.marc.definition.general.validator; import de.gwdg.metadataqa.marc.dao.DataField; -import de.gwdg.metadataqa.marc.dao.MarcRecord; +import de.gwdg.metadataqa.marc.dao.record.Marc21Record; +import de.gwdg.metadataqa.marc.dao.record.BibliographicRecord; import de.gwdg.metadataqa.marc.MarcSubfield; import de.gwdg.metadataqa.marc.definition.ValidatorResponse; import de.gwdg.metadataqa.marc.definition.tags.tags01x.Tag020; @@ -149,7 +150,7 @@ public void testSuffixes() { } private MarcSubfield createMarcSubfield(String ISBN) { - MarcRecord marcRecord = new MarcRecord("test"); + BibliographicRecord marcRecord = new Marc21Record("test"); DataField field = new DataField(Tag020.getInstance(), " ", " ", "a", ISBN); field.setMarcRecord(marcRecord); diff --git a/src/test/java/de/gwdg/metadataqa/marc/definition/general/validator/ISSNValidatorTest.java b/src/test/java/de/gwdg/metadataqa/marc/definition/general/validator/ISSNValidatorTest.java index eb099b7ef..298f769ca 100644 --- a/src/test/java/de/gwdg/metadataqa/marc/definition/general/validator/ISSNValidatorTest.java +++ b/src/test/java/de/gwdg/metadataqa/marc/definition/general/validator/ISSNValidatorTest.java @@ -1,7 +1,8 @@ package de.gwdg.metadataqa.marc.definition.general.validator; import de.gwdg.metadataqa.marc.dao.DataField; -import de.gwdg.metadataqa.marc.dao.MarcRecord; +import de.gwdg.metadataqa.marc.dao.record.Marc21Record; +import de.gwdg.metadataqa.marc.dao.record.BibliographicRecord; import de.gwdg.metadataqa.marc.MarcSubfield; import de.gwdg.metadataqa.marc.definition.ValidatorResponse; import de.gwdg.metadataqa.marc.definition.tags.tags4xx.Tag411; @@ -76,7 +77,7 @@ public void testExtraText() { } private MarcSubfield createMarcSubfield(String s) { - MarcRecord marcRecord = new MarcRecord("test"); + BibliographicRecord marcRecord = new Marc21Record("test"); DataField field = new DataField(Tag411.getInstance(), " ", " ", "x", s); field.setMarcRecord(marcRecord); diff --git a/src/test/java/de/gwdg/metadataqa/marc/definition/general/validator/RangeValidatorTest.java b/src/test/java/de/gwdg/metadataqa/marc/definition/general/validator/RangeValidatorTest.java index fbd20c88b..44e41fcda 100644 --- a/src/test/java/de/gwdg/metadataqa/marc/definition/general/validator/RangeValidatorTest.java +++ b/src/test/java/de/gwdg/metadataqa/marc/definition/general/validator/RangeValidatorTest.java @@ -1,7 +1,8 @@ package de.gwdg.metadataqa.marc.definition.general.validator; import de.gwdg.metadataqa.marc.dao.DataField; -import de.gwdg.metadataqa.marc.dao.MarcRecord; +import de.gwdg.metadataqa.marc.dao.record.Marc21Record; +import de.gwdg.metadataqa.marc.dao.record.BibliographicRecord; import de.gwdg.metadataqa.marc.MarcSubfield; import de.gwdg.metadataqa.marc.definition.tags.tags01x.Tag020; import org.junit.Test; @@ -26,7 +27,7 @@ public void day() { } private MarcSubfield createMarcSubfield(String value) { - MarcRecord marcRecord = new MarcRecord("test"); + BibliographicRecord marcRecord = new Marc21Record("test"); DataField field = new DataField(Tag020.getInstance(), " ", " ", "a", value); field.setMarcRecord(marcRecord); diff --git a/src/test/java/de/gwdg/metadataqa/marc/definition/general/validator/RegexValidatorTest.java b/src/test/java/de/gwdg/metadataqa/marc/definition/general/validator/RegexValidatorTest.java index dc22a163e..56ad48318 100644 --- a/src/test/java/de/gwdg/metadataqa/marc/definition/general/validator/RegexValidatorTest.java +++ b/src/test/java/de/gwdg/metadataqa/marc/definition/general/validator/RegexValidatorTest.java @@ -1,7 +1,8 @@ package de.gwdg.metadataqa.marc.definition.general.validator; import de.gwdg.metadataqa.marc.dao.DataField; -import de.gwdg.metadataqa.marc.dao.MarcRecord; +import de.gwdg.metadataqa.marc.dao.record.Marc21Record; +import de.gwdg.metadataqa.marc.dao.record.BibliographicRecord; import de.gwdg.metadataqa.marc.MarcSubfield; import de.gwdg.metadataqa.marc.definition.tags.tags01x.Tag020; import org.junit.Test; @@ -21,7 +22,7 @@ public void yearRange() { } private MarcSubfield createMarcSubfield(String value) { - MarcRecord marcRecord = new MarcRecord("test"); + BibliographicRecord marcRecord = new Marc21Record("test"); DataField field = new DataField(Tag020.getInstance(), " ", " ", "a", value); field.setMarcRecord(marcRecord); diff --git a/src/test/java/de/gwdg/metadataqa/marc/definition/tags/bltags/BLTagTest.java b/src/test/java/de/gwdg/metadataqa/marc/definition/tags/bltags/BLTagTest.java index bbd04abf1..8823303bc 100644 --- a/src/test/java/de/gwdg/metadataqa/marc/definition/tags/bltags/BLTagTest.java +++ b/src/test/java/de/gwdg/metadataqa/marc/definition/tags/bltags/BLTagTest.java @@ -1,7 +1,8 @@ package de.gwdg.metadataqa.marc.definition.tags.bltags; import de.gwdg.metadataqa.marc.dao.DataField; -import de.gwdg.metadataqa.marc.dao.MarcRecord; +import de.gwdg.metadataqa.marc.dao.record.Marc21Record; +import de.gwdg.metadataqa.marc.dao.record.BibliographicRecord; import de.gwdg.metadataqa.marc.MarcSubfield; import de.gwdg.metadataqa.marc.definition.structure.DataFieldDefinition; import de.gwdg.metadataqa.marc.definition.MarcVersion; @@ -35,7 +36,7 @@ else if (arguments.length % 2 == 0) } public void validField(DataField field) { - MarcRecord marcRecord = new MarcRecord("test"); + BibliographicRecord marcRecord = new Marc21Record("test"); field.setMarcRecord(marcRecord); MarcSubfield subfield = field.getSubfields().get(0); @@ -59,7 +60,7 @@ public void invalidField(String subfield, String value) { public void invalidField(String ind1, String subfield, String value) { DataField field = new DataField(tag, ind1, " ", subfield, value); - MarcRecord marcRecord = new MarcRecord("test"); + BibliographicRecord marcRecord = new Marc21Record("test"); field.setMarcRecord(marcRecord); assertFalse( @@ -76,7 +77,7 @@ public void invalidField(String ind1, String subfield, String value) { public void invalidField(DataField field) { - MarcRecord marcRecord = new MarcRecord("test"); + BibliographicRecord marcRecord = new Marc21Record("test"); field.setMarcRecord(marcRecord); MarcSubfield subfield = field.getSubfields().get(0); @@ -97,7 +98,7 @@ public void invalidField(DataField field) { public void invalidFieldInBL(String ind1, String subfield, String value) { DataField field = new DataField(tag, ind1, " ", subfield, value); - MarcRecord marcRecord = new MarcRecord("test"); + BibliographicRecord marcRecord = new Marc21Record("test"); field.setMarcRecord(marcRecord); assertTrue( diff --git a/src/test/java/de/gwdg/metadataqa/marc/definition/tags/nkcrtags/NkcrMarcReaderTest.java b/src/test/java/de/gwdg/metadataqa/marc/definition/tags/nkcrtags/NkcrMarcReaderTest.java index 5ab67fe4f..41d0af212 100644 --- a/src/test/java/de/gwdg/metadataqa/marc/definition/tags/nkcrtags/NkcrMarcReaderTest.java +++ b/src/test/java/de/gwdg/metadataqa/marc/definition/tags/nkcrtags/NkcrMarcReaderTest.java @@ -4,7 +4,7 @@ import de.gwdg.metadataqa.marc.dao.DataField; import de.gwdg.metadataqa.marc.dao.Leader; import de.gwdg.metadataqa.marc.MarcFactory; -import de.gwdg.metadataqa.marc.dao.MarcRecord; +import de.gwdg.metadataqa.marc.dao.record.BibliographicRecord; import de.gwdg.metadataqa.marc.definition.MarcVersion; import de.gwdg.metadataqa.marc.model.validation.ValidationError; import de.gwdg.metadataqa.marc.model.validation.ValidationErrorType; @@ -40,7 +40,7 @@ public void testFieldValidation() { i++; marc4jRecord = reader.next(); assertNotNull(marc4jRecord); - MarcRecord marcRecord = MarcFactory.createFromMarc4j( + BibliographicRecord marcRecord = MarcFactory.createFromMarc4j( marc4jRecord, Leader.Type.BOOKS, MarcVersion.NKCR, "^" ); assertNotNull(marcRecord); diff --git a/src/test/java/de/gwdg/metadataqa/marc/definition/tags/oclctags/Tag029Test.java b/src/test/java/de/gwdg/metadataqa/marc/definition/tags/oclctags/Tag029Test.java index dd0b16ff9..3d8584c1d 100644 --- a/src/test/java/de/gwdg/metadataqa/marc/definition/tags/oclctags/Tag029Test.java +++ b/src/test/java/de/gwdg/metadataqa/marc/definition/tags/oclctags/Tag029Test.java @@ -1,7 +1,8 @@ package de.gwdg.metadataqa.marc.definition.tags.oclctags; import de.gwdg.metadataqa.marc.dao.DataField; -import de.gwdg.metadataqa.marc.dao.MarcRecord; +import de.gwdg.metadataqa.marc.dao.record.Marc21Record; +import de.gwdg.metadataqa.marc.dao.record.BibliographicRecord; import de.gwdg.metadataqa.marc.definition.MarcVersion; import org.junit.Test; @@ -12,7 +13,7 @@ public class Tag029Test { @Test public void test() { - MarcRecord marcRecord = new MarcRecord("test"); + BibliographicRecord marcRecord = new Marc21Record("test"); DataField field = new DataField(Tag029.getInstance(), "a", "a", "a", "0170-1967"); field.setMarcRecord(marcRecord); diff --git a/src/test/java/de/gwdg/metadataqa/marc/definition/tags/tags01x/Tag040Test.java b/src/test/java/de/gwdg/metadataqa/marc/definition/tags/tags01x/Tag040Test.java index 80af3f3ad..6ab235fbe 100644 --- a/src/test/java/de/gwdg/metadataqa/marc/definition/tags/tags01x/Tag040Test.java +++ b/src/test/java/de/gwdg/metadataqa/marc/definition/tags/tags01x/Tag040Test.java @@ -1,7 +1,8 @@ package de.gwdg.metadataqa.marc.definition.tags.tags01x; import de.gwdg.metadataqa.marc.dao.DataField; -import de.gwdg.metadataqa.marc.dao.MarcRecord; +import de.gwdg.metadataqa.marc.dao.record.Marc21Record; +import de.gwdg.metadataqa.marc.dao.record.BibliographicRecord; import org.junit.*; import java.util.List; @@ -29,7 +30,7 @@ public void tearDown() { @Test public void testCStH() { - MarcRecord marcRecord = new MarcRecord("test"); + BibliographicRecord marcRecord = new Marc21Record("test"); DataField field = new DataField(Tag040.getInstance(), " ", " ", "a", "CSt-H", "b", "eng", "c", "CSt-H", "e", "appm"); field.setMarcRecord(marcRecord); diff --git a/src/test/java/de/gwdg/metadataqa/marc/definition/tags/tags01x/Tag045Test.java b/src/test/java/de/gwdg/metadataqa/marc/definition/tags/tags01x/Tag045Test.java index 506051953..ba7eddf6e 100644 --- a/src/test/java/de/gwdg/metadataqa/marc/definition/tags/tags01x/Tag045Test.java +++ b/src/test/java/de/gwdg/metadataqa/marc/definition/tags/tags01x/Tag045Test.java @@ -1,7 +1,8 @@ package de.gwdg.metadataqa.marc.definition.tags.tags01x; import de.gwdg.metadataqa.marc.dao.DataField; -import de.gwdg.metadataqa.marc.dao.MarcRecord; +import de.gwdg.metadataqa.marc.dao.record.Marc21Record; +import de.gwdg.metadataqa.marc.dao.record.BibliographicRecord; import de.gwdg.metadataqa.marc.MarcSubfield; import org.junit.*; @@ -19,7 +20,7 @@ public class Tag045Test { @Test public void testCStH() { - MarcRecord marcRecord = new MarcRecord("test"); + BibliographicRecord marcRecord = new Marc21Record("test"); List values = Arrays.asList( "d7d9", diff --git a/src/test/java/de/gwdg/metadataqa/marc/definition/tags/tags01x/Tag090Test.java b/src/test/java/de/gwdg/metadataqa/marc/definition/tags/tags01x/Tag090Test.java index e3fe69b9d..6b82ea038 100644 --- a/src/test/java/de/gwdg/metadataqa/marc/definition/tags/tags01x/Tag090Test.java +++ b/src/test/java/de/gwdg/metadataqa/marc/definition/tags/tags01x/Tag090Test.java @@ -2,7 +2,8 @@ import de.gwdg.metadataqa.marc.dao.Control001; import de.gwdg.metadataqa.marc.dao.DataField; -import de.gwdg.metadataqa.marc.dao.MarcRecord; +import de.gwdg.metadataqa.marc.dao.record.Marc21Record; +import de.gwdg.metadataqa.marc.dao.record.BibliographicRecord; import de.gwdg.metadataqa.marc.definition.MarcVersion; import de.gwdg.metadataqa.marc.definition.tags.oclctags.Tag090; import de.gwdg.metadataqa.marc.model.validation.ValidationErrorType; @@ -16,7 +17,7 @@ public class Tag090Test { @Test public void testVersionSpecificSubfield() { - MarcRecord marcRecord = new MarcRecord("test"); + BibliographicRecord marcRecord = new Marc21Record("test"); DataField field = new DataField(Tag090.getInstance(), " ", " ", "n", "sm"); field.setMarcRecord(marcRecord); @@ -27,7 +28,7 @@ public void testVersionSpecificSubfield() { @Test public void testVersionSpecificSubfieldWithWrongValue() { - MarcRecord marcRecord = new MarcRecord(); + BibliographicRecord marcRecord = new Marc21Record(); marcRecord.setControl001(new Control001("test")); DataField field = new DataField(Tag090.getInstance(), " ", " ", "n", "sk"); diff --git a/src/test/java/de/gwdg/metadataqa/marc/definition/tags/tags4xx/Tag490Test.java b/src/test/java/de/gwdg/metadataqa/marc/definition/tags/tags4xx/Tag490Test.java index 44badb91d..a180bbf96 100644 --- a/src/test/java/de/gwdg/metadataqa/marc/definition/tags/tags4xx/Tag490Test.java +++ b/src/test/java/de/gwdg/metadataqa/marc/definition/tags/tags4xx/Tag490Test.java @@ -2,7 +2,8 @@ import de.gwdg.metadataqa.marc.dao.DataField; import de.gwdg.metadataqa.marc.dao.Leader; -import de.gwdg.metadataqa.marc.dao.MarcRecord; +import de.gwdg.metadataqa.marc.dao.record.Marc21Record; +import de.gwdg.metadataqa.marc.dao.record.BibliographicRecord; import de.gwdg.metadataqa.marc.definition.MarcVersion; import de.gwdg.metadataqa.marc.definition.tags.tags84x.Tag880; import org.junit.Test; @@ -15,7 +16,7 @@ public class Tag490Test { @Test public void test() { - MarcRecord marcRecord = new MarcRecord("000714573"); + BibliographicRecord marcRecord = new Marc21Record("000714573"); marcRecord.setLeader(new Leader("01168cam a2200325 a 4500")); DataField field = new DataField(Tag490.getInstance(), "0", " ", "6", "880-03", "a", "ifriyat ha-Entsiḳlopedyah ha-Miḳraʼit ;", "v", "9"); field.setMarcRecord(marcRecord); @@ -28,7 +29,7 @@ public void test() { @Test public void test880() { - MarcRecord marcRecord = new MarcRecord("000714573"); + BibliographicRecord marcRecord = new Marc21Record("000714573"); marcRecord.setLeader(new Leader("01168cam a2200325 a 4500")); DataField field = new DataField(Tag880.getInstance(), " ", "0", "6", "490-03/(2/r", "a", "ספריית האנציקלופדיה המקראית ;", "v", "9"); field.setMarcRecord(marcRecord); diff --git a/src/test/java/de/gwdg/metadataqa/marc/utils/ReadMarcTest.java b/src/test/java/de/gwdg/metadataqa/marc/utils/ReadMarcTest.java index fde1bcbd8..24f55fbb5 100644 --- a/src/test/java/de/gwdg/metadataqa/marc/utils/ReadMarcTest.java +++ b/src/test/java/de/gwdg/metadataqa/marc/utils/ReadMarcTest.java @@ -2,7 +2,7 @@ import de.gwdg.metadataqa.api.util.FileUtils; import de.gwdg.metadataqa.marc.MarcFactory; -import de.gwdg.metadataqa.marc.dao.MarcRecord; +import de.gwdg.metadataqa.marc.dao.record.BibliographicRecord; import org.junit.Test; import org.marc4j.marc.Record; @@ -18,7 +18,7 @@ public void test() throws Exception { Path path = FileUtils.getPath("general/0001-01.mrc"); List records = ReadMarc.read(path.toString()); for (Record marc4jRecord : records) { - MarcRecord marcRecord = MarcFactory.createFromMarc4j(marc4jRecord); + BibliographicRecord marcRecord = MarcFactory.createFromMarc4j(marc4jRecord); assertEquals(marc4jRecord.getLeader().marshal(), marcRecord.getLeader().getLeaderString()); switch (marc4jRecord.getControlNumber()) { case " 00000002 " : test02(marcRecord); break; @@ -34,7 +34,7 @@ public void test() throws Exception { } } - private void test02(MarcRecord marcRecord) { + private void test02(BibliographicRecord marcRecord) { assertEquals("00720cam a22002051 4500", marcRecord.getLeader().getLeaderString()); String expected = "IdentifiedByLccn: 00000002 \n" + "SystemControlNumber: (OCoLC)5853149\n" + @@ -72,7 +72,7 @@ private void test02(MarcRecord marcRecord) { assertEquals(expected, marcRecord.formatForIndex()); } - private void test04(MarcRecord marcRecord) { + private void test04(BibliographicRecord marcRecord) { assertEquals("00720cam a2200229 a 4500", marcRecord.getLeader().getLeaderString()); String expected = "IdentifiedByLccn: 00000004 \n" + "SystemControlNumber: (OCoLC)ocm34987929\n" + @@ -115,7 +115,7 @@ private void test04(MarcRecord marcRecord) { assertEquals(expected, marcRecord.formatForIndex()); } - private void test06(MarcRecord marcRecord) { + private void test06(BibliographicRecord marcRecord) { assertEquals("00472cam a22001571 4500", marcRecord.getLeader().getLeaderString()); String expected = "IdentifiedByLccn: 00000006 \n" + "AdminMetadata_catalogingAgency: United States, Library of Congress\n" + @@ -143,7 +143,7 @@ private void test06(MarcRecord marcRecord) { assertEquals(expected, marcRecord.formatForIndex()); } - private void test07(MarcRecord marcRecord) { + private void test07(BibliographicRecord marcRecord) { assertEquals("00548cam a22001811 4500", marcRecord.getLeader().getLeaderString()); String expected = "IdentifiedByLccn: 00000007 \n" + "SystemControlNumber: (OCoLC)3421715\n" + @@ -176,7 +176,7 @@ private void test07(MarcRecord marcRecord) { assertEquals(expected, marcRecord.formatForIndex()); } - private void test09(MarcRecord marcRecord) { + private void test09(BibliographicRecord marcRecord) { assertEquals("00483nam a2200169 a 4500", marcRecord.getLeader().getLeaderString()); String expected = "IdentifiedByLccn: 00000009 \n" + "AdminMetadata_catalogingAgency: United States, Library of Congress\n" + diff --git a/src/test/java/de/gwdg/metadataqa/marc/utils/alephseq/AlephseqMarcReaderTest.java b/src/test/java/de/gwdg/metadataqa/marc/utils/alephseq/AlephseqMarcReaderTest.java index c36bb6d5b..77b3833b7 100644 --- a/src/test/java/de/gwdg/metadataqa/marc/utils/alephseq/AlephseqMarcReaderTest.java +++ b/src/test/java/de/gwdg/metadataqa/marc/utils/alephseq/AlephseqMarcReaderTest.java @@ -6,7 +6,7 @@ import de.gwdg.metadataqa.marc.dao.MarcControlField; import de.gwdg.metadataqa.marc.MarcFactory; import de.gwdg.metadataqa.marc.dao.MarcPositionalControlField; -import de.gwdg.metadataqa.marc.dao.MarcRecord; +import de.gwdg.metadataqa.marc.dao.record.BibliographicRecord; import de.gwdg.metadataqa.marc.definition.MarcVersion; import de.gwdg.metadataqa.marc.utils.marcreader.AlephseqMarcReader; import org.junit.Test; @@ -38,7 +38,7 @@ public void testMarcRecordFunctions() { if (reader.hasNext()) marc4jRecord = reader.next(); assertNotNull(marc4jRecord); - MarcRecord marcRecord = MarcFactory.createFromMarc4j(marc4jRecord, Leader.Type.BOOKS, MarcVersion.GENT, "^"); + BibliographicRecord marcRecord = MarcFactory.createFromMarc4j(marc4jRecord, Leader.Type.BOOKS, MarcVersion.GENT, "^"); assertNotNull(marcRecord); assertEquals("000000002", marcRecord.getId()); @@ -79,15 +79,15 @@ public void testMarcRecordFunctions() { assertEquals(1, subfields.size()); assertEquals("Katz, Jerrold J.,", subfields.get(0)); - subfields = marcRecord.extract("100", "a", MarcRecord.RESOLVE.NONE); + subfields = marcRecord.extract("100", "a", BibliographicRecord.RESOLVE.NONE); assertEquals(1, subfields.size()); assertEquals("Katz, Jerrold J.,", subfields.get(0)); - subfields = marcRecord.extract("100", "a", MarcRecord.RESOLVE.RESOLVE); + subfields = marcRecord.extract("100", "a", BibliographicRecord.RESOLVE.RESOLVE); assertEquals(1, subfields.size()); assertEquals("Katz, Jerrold J.,", subfields.get(0)); - subfields = marcRecord.extract("100", "a", MarcRecord.RESOLVE.BOTH); + subfields = marcRecord.extract("100", "a", BibliographicRecord.RESOLVE.BOTH); assertEquals(1, subfields.size()); assertEquals("Katz, Jerrold J.,##Katz, Jerrold J.,", subfields.get(0)); @@ -338,7 +338,7 @@ public void testUtf8() { while (reader.hasNext()) { marc4jRecord = reader.next(); if (marc4jRecord.getControlNumber().equals("000000008")) { - MarcRecord marcRecord = MarcFactory.createFromMarc4j(marc4jRecord, Leader.Type.BOOKS, MarcVersion.GENT, "^"); + BibliographicRecord marcRecord = MarcFactory.createFromMarc4j(marc4jRecord, Leader.Type.BOOKS, MarcVersion.GENT, "^"); assertEquals("München :", marcRecord.getDatafield("260").get(0).getSubfield("a").get(0).getValue()); } } @@ -357,7 +357,7 @@ public void testNli() { while (reader.hasNext()) { marc4jRecord = reader.next(); if (marc4jRecord.getControlNumber().equals("990017782740205171")) { - MarcRecord marcRecord = MarcFactory.createFromMarc4j(marc4jRecord, Leader.Type.BOOKS, MarcVersion.GENT, "^"); + BibliographicRecord marcRecord = MarcFactory.createFromMarc4j(marc4jRecord, Leader.Type.BOOKS, MarcVersion.GENT, "^"); assertEquals("1993.", marcRecord.getDatafield("260").get(0).getSubfield("c").get(0).getValue()); } } diff --git a/src/test/java/de/gwdg/metadataqa/marc/utils/alephseq/MarcMakerReaderTest.java b/src/test/java/de/gwdg/metadataqa/marc/utils/alephseq/MarcMakerReaderTest.java index 328e3d074..717f65153 100644 --- a/src/test/java/de/gwdg/metadataqa/marc/utils/alephseq/MarcMakerReaderTest.java +++ b/src/test/java/de/gwdg/metadataqa/marc/utils/alephseq/MarcMakerReaderTest.java @@ -4,7 +4,7 @@ import de.gwdg.metadataqa.marc.MarcFactory; import de.gwdg.metadataqa.marc.dao.DataField; import de.gwdg.metadataqa.marc.dao.Leader; -import de.gwdg.metadataqa.marc.dao.MarcRecord; +import de.gwdg.metadataqa.marc.dao.record.BibliographicRecord; import de.gwdg.metadataqa.marc.definition.MarcVersion; import de.gwdg.metadataqa.marc.utils.marcreader.MarcMakerReader; import org.junit.Test; @@ -36,7 +36,7 @@ public void testFile01() { if (reader.hasNext()) marc4jRecord = reader.next(); assertNotNull(marc4jRecord); - MarcRecord marcRecord = MarcFactory.createFromMarc4j(marc4jRecord, Leader.Type.BOOKS, MarcVersion.GENT, "^"); + BibliographicRecord marcRecord = MarcFactory.createFromMarc4j(marc4jRecord, Leader.Type.BOOKS, MarcVersion.GENT, "^"); assertNotNull(marcRecord); assertEquals("987874829", marcRecord.getId()); @@ -65,7 +65,7 @@ public void testMultiline() { if (reader.hasNext()) marc4jRecord = reader.next(); assertNotNull(marc4jRecord); - MarcRecord marcRecord = MarcFactory.createFromMarc4j(marc4jRecord, Leader.Type.BOOKS, MarcVersion.GENT, "^"); + BibliographicRecord marcRecord = MarcFactory.createFromMarc4j(marc4jRecord, Leader.Type.BOOKS, MarcVersion.GENT, "^"); assertNotNull(marcRecord); assertEquals("0123456789", marcRecord.getId()); @@ -94,7 +94,7 @@ public void testMultiline2() { if (reader.hasNext()) marc4jRecord = reader.next(); assertNotNull(marc4jRecord); - MarcRecord marcRecord = MarcFactory.createFromMarc4j(marc4jRecord, Leader.Type.BOOKS, MarcVersion.GENT, "^"); + BibliographicRecord marcRecord = MarcFactory.createFromMarc4j(marc4jRecord, Leader.Type.BOOKS, MarcVersion.GENT, "^"); assertNotNull(marcRecord); assertEquals("rb1993000850", marcRecord.getId()); diff --git a/src/test/java/de/gwdg/metadataqa/marc/utils/alephseq/MarclineReaderTest.java b/src/test/java/de/gwdg/metadataqa/marc/utils/alephseq/MarclineReaderTest.java index b0209902c..4c4f59246 100644 --- a/src/test/java/de/gwdg/metadataqa/marc/utils/alephseq/MarclineReaderTest.java +++ b/src/test/java/de/gwdg/metadataqa/marc/utils/alephseq/MarclineReaderTest.java @@ -6,7 +6,7 @@ import de.gwdg.metadataqa.marc.dao.Leader; import de.gwdg.metadataqa.marc.dao.MarcControlField; import de.gwdg.metadataqa.marc.dao.MarcPositionalControlField; -import de.gwdg.metadataqa.marc.dao.MarcRecord; +import de.gwdg.metadataqa.marc.dao.record.BibliographicRecord; import de.gwdg.metadataqa.marc.definition.MarcVersion; import de.gwdg.metadataqa.marc.utils.marcreader.MarclineReader; import org.junit.Test; @@ -41,7 +41,7 @@ public void testMarcRecordFunctions() { if (reader.hasNext()) marc4jRecord = reader.next(); assertNotNull(marc4jRecord); - MarcRecord marcRecord = MarcFactory.createFromMarc4j(marc4jRecord, Leader.Type.BOOKS, MarcVersion.GENT, "^"); + BibliographicRecord marcRecord = MarcFactory.createFromMarc4j(marc4jRecord, Leader.Type.BOOKS, MarcVersion.GENT, "^"); assertNotNull(marcRecord); assertEquals("010000011", marcRecord.getId()); @@ -430,7 +430,7 @@ public void testAlmaReplacement() { if (reader.hasNext()) marc4jRecord = reader.next(); assertNotNull(marc4jRecord); - MarcRecord marcRecord = MarcFactory.createFromMarc4j(marc4jRecord, Leader.Type.BOOKS, MarcVersion.GENT, "#"); + BibliographicRecord marcRecord = MarcFactory.createFromMarc4j(marc4jRecord, Leader.Type.BOOKS, MarcVersion.GENT, "#"); assertNotNull(marcRecord); assertEquals("tu ", marcRecord.getControl007().get(0).getContent()); } diff --git a/src/test/java/de/gwdg/metadataqa/marc/utils/pica/PicaReaderTest.java b/src/test/java/de/gwdg/metadataqa/marc/utils/pica/PicaReaderTest.java index 61582777f..470e507a3 100644 --- a/src/test/java/de/gwdg/metadataqa/marc/utils/pica/PicaReaderTest.java +++ b/src/test/java/de/gwdg/metadataqa/marc/utils/pica/PicaReaderTest.java @@ -8,7 +8,7 @@ import de.gwdg.metadataqa.api.util.FileUtils; import de.gwdg.metadataqa.marc.MarcFactory; import de.gwdg.metadataqa.marc.Utils; -import de.gwdg.metadataqa.marc.dao.MarcRecord; +import de.gwdg.metadataqa.marc.dao.record.BibliographicRecord; import de.gwdg.metadataqa.marc.definition.Cardinality; import de.gwdg.metadataqa.marc.definition.bibliographic.SchemaType; import org.apache.commons.lang3.StringUtils; @@ -183,7 +183,7 @@ public void picaReader() throws IOException, URISyntaxException { String recordFile = FileUtils.getPath("pica/picaplus-sample.txt").toAbsolutePath().toString(); MarcReader reader = new PicaReader(recordFile).setIdField("003@ƒ0").setSubfieldSeparator("ƒ"); int i = 0; - MarcRecord marcRecord = null; + BibliographicRecord marcRecord = null; while (reader.hasNext()) { Record record = reader.next(); marcRecord = MarcFactory.createPicaFromMarc4j(record, schema); @@ -202,7 +202,7 @@ public void picaReader2() throws IOException, URISyntaxException { .setIdField("003@$0") .setSubfieldSeparator("$"); int i = 0; - MarcRecord marcRecord = null; + BibliographicRecord marcRecord = null; List ids = new ArrayList<>(); while (reader.hasNext()) { Record record = reader.next();