Skip to content

Commit b3fb01d

Browse files
authored
Merge pull request #2154 from TexasDigitalLibrary/main_marcxml21
Main marcxml21
2 parents 0884e3f + 8f2c7d0 commit b3fb01d

4 files changed

Lines changed: 17 additions & 11 deletions

File tree

src/main/java/org/tdl/vireo/model/export/enums/MarcXML21Key.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ public enum MarcXML21Key {
1010
MAJOR,
1111
DEPOSIT_URL,
1212
ABSTRACT,
13+
SUBJECT_FIELD_VALUES,
1314
KEYWORD_FIELD_VALUES,
1415
DEPARTMENT,
1516
COMMITTEE_CHAIR_FIELD_VALUES,

src/main/java/org/tdl/vireo/model/formatter/MarcXML21Formatter.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,9 @@ public void populateContext(Context context, Submission submission) {
6666
case KEYWORD_FIELD_VALUES:
6767
context.setVariable(key.name(), submissionHelperUtility.getKeywordFieldValues());
6868
break;
69+
case SUBJECT_FIELD_VALUES:
70+
context.setVariable(key.name(), submissionHelperUtility.getSubjectFieldValues());
71+
break;
6972
case DEPARTMENT:
7073
context.setVariable(key.name(), submissionHelperUtility.getDepartment());
7174
break;

src/main/resources/formats/marc21_xml.xml

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -211,18 +211,19 @@
211211

212212
<!-- 650, ETD discipline index terms -->
213213
<!--
214-
Source: major
214+
Source: subjects
215215
Example:
216-
<marc:datafield tag="650" ind1="4" ind2=" ">
216+
<marc:datafield tag="650" ind1=" " ind2=" ">
217217
<marc:subfield code="a">Finance</marc:subfield>
218218
</marc:datafield>
219219
220220
-->
221-
<datafield th:if="${ MAJOR != null }" tag="650" ind1=" " ind2="4">
222-
<subfield th:text="${ MAJOR }" code="a"></subfield>
223-
</datafield>
221+
<datafield th:each="subject: ${SUBJECT_FIELD_VALUES}" tag="650" ind1=" " ind2=" ">
222+
<subfield th:text="${ subject.getValue() }" code="a"></subfield>
223+
</datafield>
224+
224225

225-
<!-- 653, ETD subject/keywords -->
226+
<!-- 653, ETD keywords -->
226227
<!--
227228
Source: documentKeywords
228229
Example:

src/test/java/org/tdl/vireo/model/export/enums/MarcXML21KeyTest.java

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -17,11 +17,12 @@ protected static Stream<Arguments> provideEnumParameters() {
1717
Arguments.of(MarcXML21Key.MAJOR, "MAJOR", 6),
1818
Arguments.of(MarcXML21Key.DEPOSIT_URL, "DEPOSIT_URL", 7),
1919
Arguments.of(MarcXML21Key.ABSTRACT, "ABSTRACT", 8),
20-
Arguments.of(MarcXML21Key.KEYWORD_FIELD_VALUES, "KEYWORD_FIELD_VALUES", 9),
21-
Arguments.of(MarcXML21Key.DEPARTMENT, "DEPARTMENT", 10),
22-
Arguments.of(MarcXML21Key.COMMITTEE_CHAIR_FIELD_VALUES, "COMMITTEE_CHAIR_FIELD_VALUES", 11),
23-
Arguments.of(MarcXML21Key.COMMITTEE_MEMBER_FIELD_VALUES, "COMMITTEE_MEMBER_FIELD_VALUES", 12),
24-
Arguments.of(MarcXML21Key.PRIMARY_DOCUMENT_MIMETYPE, "PRIMARY_DOCUMENT_MIMETYPE", 13)
20+
Arguments.of(MarcXML21Key.SUBJECT_FIELD_VALUES, "SUBJECT_FIELD_VALUES", 9),
21+
Arguments.of(MarcXML21Key.KEYWORD_FIELD_VALUES, "KEYWORD_FIELD_VALUES", 10),
22+
Arguments.of(MarcXML21Key.DEPARTMENT, "DEPARTMENT", 11),
23+
Arguments.of(MarcXML21Key.COMMITTEE_CHAIR_FIELD_VALUES, "COMMITTEE_CHAIR_FIELD_VALUES", 12),
24+
Arguments.of(MarcXML21Key.COMMITTEE_MEMBER_FIELD_VALUES, "COMMITTEE_MEMBER_FIELD_VALUES", 13),
25+
Arguments.of(MarcXML21Key.PRIMARY_DOCUMENT_MIMETYPE, "PRIMARY_DOCUMENT_MIMETYPE", 14)
2526
);
2627
}
2728

0 commit comments

Comments
 (0)