diff --git a/metafix-runner/build.gradle b/metafix-runner/build.gradle index fda18d7b..47584e6e 100644 --- a/metafix-runner/build.gradle +++ b/metafix-runner/build.gradle @@ -5,8 +5,10 @@ plugins { dependencies { implementation project(':metafix') + implementation "org.metafacture:metafacture-biblio:${versions.metafacture}" implementation "org.metafacture:metafacture-json:${versions.metafacture}" implementation "org.metafacture:metafacture-runner:${versions.metafacture}" + implementation "org.metafacture:metafacture-xml:${versions.metafacture}" } application { diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/method/fromXml/toJson/replace_allInOptionalSubfieldOfRepeatedObjectsWithAsterisk/expected.json b/metafix/src/test/resources/org/metafacture/metafix/integration/method/fromXml/toJson/replace_allInOptionalSubfieldOfRepeatedObjectsWithAsterisk/expected.json new file mode 100644 index 00000000..3b010d5f --- /dev/null +++ b/metafix/src/test/resources/org/metafacture/metafix/integration/method/fromXml/toJson/replace_allInOptionalSubfieldOfRepeatedObjectsWithAsterisk/expected.json @@ -0,0 +1,8 @@ +{ + "RSWK" : [ { + "subjectTopicName" : "Nonprofit organizations" + }, { + "subjectTopicName" : "Nonprofit organizations", + "subjectGenre" : "Case studies" + } ] +} diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/method/fromXml/toJson/replace_allInOptionalSubfieldOfRepeatedObjectsWithAsterisk/input.xml b/metafix/src/test/resources/org/metafacture/metafix/integration/method/fromXml/toJson/replace_allInOptionalSubfieldOfRepeatedObjectsWithAsterisk/input.xml new file mode 100644 index 00000000..78fd0b83 --- /dev/null +++ b/metafix/src/test/resources/org/metafacture/metafix/integration/method/fromXml/toJson/replace_allInOptionalSubfieldOfRepeatedObjectsWithAsterisk/input.xml @@ -0,0 +1,14 @@ + + + + + Nonprofit organizations + Management. + + + Nonprofit organizations + Management + Case studies. + + + diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/method/fromXml/toJson/replace_allInOptionalSubfieldOfRepeatedObjectsWithAsterisk/test.fix b/metafix/src/test/resources/org/metafacture/metafix/integration/method/fromXml/toJson/replace_allInOptionalSubfieldOfRepeatedObjectsWithAsterisk/test.fix new file mode 100644 index 00000000..51782a33 --- /dev/null +++ b/metafix/src/test/resources/org/metafacture/metafix/integration/method/fromXml/toJson/replace_allInOptionalSubfieldOfRepeatedObjectsWithAsterisk/test.fix @@ -0,0 +1,7 @@ +set_array("RSWK[]") +do list(path: "650??", "var": "$i") + copy_field("$i.a", "RSWK[].$append.subjectTopicName") + copy_field("$i.v", "RSWK[].$last.subjectGenre") +end +replace_all("RSWK[].*.subjectGenre", "[.]$", "") +retain("RSWK[]") diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/method/fromXml/toJson/replace_allInOptionalSubfieldOfRepeatedObjectsWithAsterisk/test.flux b/metafix/src/test/resources/org/metafacture/metafix/integration/method/fromXml/toJson/replace_allInOptionalSubfieldOfRepeatedObjectsWithAsterisk/test.flux new file mode 100644 index 00000000..1d8c3df8 --- /dev/null +++ b/metafix/src/test/resources/org/metafacture/metafix/integration/method/fromXml/toJson/replace_allInOptionalSubfieldOfRepeatedObjectsWithAsterisk/test.flux @@ -0,0 +1,8 @@ +FLUX_DIR + "input.xml" +|open-file +|decode-xml +|handle-marcxml +|fix(FLUX_DIR + "test.fix") +|encode-json(prettyPrinting="true") +|write(FLUX_DIR + "output-metafix.json") +; diff --git a/metafix/src/test/resources/org/metafacture/metafix/integration/method/fromXml/toJson/replace_allInOptionalSubfieldOfRepeatedObjectsWithAsterisk/todo.txt b/metafix/src/test/resources/org/metafacture/metafix/integration/method/fromXml/toJson/replace_allInOptionalSubfieldOfRepeatedObjectsWithAsterisk/todo.txt new file mode 100644 index 00000000..753a771e --- /dev/null +++ b/metafix/src/test/resources/org/metafacture/metafix/integration/method/fromXml/toJson/replace_allInOptionalSubfieldOfRepeatedObjectsWithAsterisk/todo.txt @@ -0,0 +1 @@ +See PR #170