Skip to content

Commit

Permalink
issue #75: add tag 859
Browse files Browse the repository at this point in the history
  • Loading branch information
pkiraly committed Dec 7, 2020
1 parent db643e7 commit 909ecad
Show file tree
Hide file tree
Showing 4 changed files with 86 additions and 2 deletions.
2 changes: 1 addition & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,4 +5,4 @@
### Added

- British Library tags: 039, 091, 509, 539, 590, 591, 592, 594, 595, 596, 597, 598, 599,
690, 692
690, 692, 852$a (code list), 859
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
package de.gwdg.metadataqa.marc.definition.tags.bltags;

import de.gwdg.metadataqa.marc.definition.Cardinality;
import de.gwdg.metadataqa.marc.definition.DataFieldDefinition;
import de.gwdg.metadataqa.marc.definition.Indicator;
import de.gwdg.metadataqa.marc.definition.general.validator.RegexValidator;

/**
* National Bibliography Issue Number
*/
public class Tag859 extends DataFieldDefinition {

private static Tag859 uniqueInstance;

private Tag859() {
initialize();
postCreation();
}

public static Tag859 getInstance() {
if (uniqueInstance == null)
uniqueInstance = new Tag859();
return uniqueInstance;
}

private void initialize() {

tag = "859";
label = "Digital Resource Flag";
mqTag = "digitalResourceFlag";
cardinality = Cardinality.Repeatable;
obsolete = true;
// descriptionUrl = "https://www.loc.gov/marc/bibliographic/bd037.html";
// setCompilanceLevels("O");

ind1 = new Indicator();

ind2 = new Indicator();

setSubfieldsWithCardinality(
"a", "Digital resource flag", "NR",
"b", "Category of digital resource", "R"
);

getSubfield("a")
.setCodes(
"ELD", "Online: Reading Room Only (e-Legal Deposit only)",
"ORR", "Online: Reading Room Only (subscribed/licensed content specified to be only viewable in the reading rooms)",
"XLD", "Online (non-Legal Deposit content which is freely available)"
)
.setMqTag("flag");

getSubfield("b")
.setValidator(new RegexValidator("^.*[^\\.]$"))
.setMqTag("category");

}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
package de.gwdg.metadataqa.marc.definition.tags.bltags;

import de.gwdg.metadataqa.marc.DataField;
import org.junit.Test;

public class Tag859Test extends BLTagTest {

public Tag859Test() {
super(Tag859.getInstance());
}

@Test
public void testValidFields() {
validField(new DataField(tag, " ", " ", "a", "ELD", "b", "ebook"));
validField(new DataField(tag, " ", " ", "a", "ORR", "b", "Alexander Street Press"));
validField(new DataField(tag, " ", " ", "a", "XLD", "b", "EUBookshop"));
validField(new DataField(tag, " ", " ", "a", "XLD",
"b", "GOOGLEBOOKS",
"b", "France in the Americas Project"));
}

@Test
public void testInvalidFields() {
invalidField("c", "x(88-89)");
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ public void testListTag() {
List<Class<? extends DataFieldDefinition>> tags = MarcTagLister.listTags();
assertNotNull(tags);
assertNotEquals(0, tags.size());
assertEquals(338, tags.size());
assertEquals(339, tags.size());
assertEquals("Tag010", tags.get(0).getSimpleName());
Map<String, Integer> versionCounter = new HashMap<>();
Map<MarcVersion, Integer> versionCounter2 = new HashMap<>();
Expand Down

0 comments on commit 909ecad

Please sign in to comment.