From d3b599033acd7d12b192b01b15ed1430a6cc3726 Mon Sep 17 00:00:00 2001 From: Fabio Sinibaldi Date: Mon, 8 Mar 2021 17:39:24 +0100 Subject: [PATCH] Testing and fixes --- out.json | 2 +- .../publishing/ckan2zenodo/Translator.java | 7 ++- .../ckan2zenodo/model/parsing/TargetPath.java | 2 +- src/test/java/org/gcube/tests/OneHitTest.java | 2 +- .../resources/blue_cloud_deliverable.out.xml | 0 src/test/resources/blue_cloud_deliverable.xml | 58 +++++++++---------- 6 files changed, 37 insertions(+), 34 deletions(-) create mode 100644 src/test/resources/blue_cloud_deliverable.out.xml diff --git a/out.json b/out.json index 98b5791..27c5b6c 100644 --- a/out.json +++ b/out.json @@ -1 +1 @@ -{"metadata":{"upload_type":"other","creators":[{"name":"Rossi, Pietro, pietro.rossi@acme.org"},{"name":"Verdi, Luca, lica.verdi@amce.org"},{"name":"Bianchi, Elena"}],"contributors":[{"name":"Ferrari, Paolo, paolo.ferrari@acme.org","type":"Other"},{"name":"Russo, Pietro, pietro.russo@amce.org","type":"Other"},{"name":"Giorgino, Giorgio","type":"Other"}],"communities":[{"identifier":"blue-cloud"}],"grants":[{"id":"862409"}]},"doiurl":"https://doi.org/null"} \ No newline at end of file +{"metadata":{"upload_type":"other","publication_date":"2021-03-08T16:30:21.000774+0000","title":"A sample deliverable 4 Zenodo","creators":[{"name":"Candela Leonardo"},{"name":"Candela Leonardo"}],"description":"This is a sample deliverable created for testing the publish2Zenodo \r\nfacility","access_right":"open","license":"CC-BY-SA-4.0","keywords":["Text mining"],"related_identifiers":[{"identifier":"https://data-pre.d4science.org/ctlg/preVRE/a_sample_deliverable_4_zenodo","relation":"isCompiledBy"}],"contributors":[{"name":"Candela Leonardo","type":"Producer"},{"name":"Candela Leonardo","type":"DataCurator"},{"name":"D4Science","type":"HostingInstitution"}],"version":"1"},"doiurl":"https://doi.org/null"} \ No newline at end of file diff --git a/src/main/java/org/gcube/data/publishing/ckan2zenodo/Translator.java b/src/main/java/org/gcube/data/publishing/ckan2zenodo/Translator.java index 13f85a3..9b503c2 100644 --- a/src/main/java/org/gcube/data/publishing/ckan2zenodo/Translator.java +++ b/src/main/java/org/gcube/data/publishing/ckan2zenodo/Translator.java @@ -294,12 +294,15 @@ public class Translator { JsonPath path=JsonPath.compile(mapping.getTargetPath().getValue()); switch(mapping.getTargetPath().getType()) { case array : - targetCtx.set(path, resultingValueList); + targetCtx=targetCtx.set(path, resultingValueList); break; case map : + for(Map resultingTargetElements : resultingValueList) { log.debug("Applying "+resultingTargetElements+ " to "+mapping.getTargetPath()); - targetCtx.set(path, resultingTargetElements); + for(Entry e:resultingTargetElements.entrySet()) + targetCtx=targetCtx.put(path, e.getKey(),e.getValue()); + } break; } diff --git a/src/main/java/org/gcube/data/publishing/ckan2zenodo/model/parsing/TargetPath.java b/src/main/java/org/gcube/data/publishing/ckan2zenodo/model/parsing/TargetPath.java index 077f81d..10eeab7 100644 --- a/src/main/java/org/gcube/data/publishing/ckan2zenodo/model/parsing/TargetPath.java +++ b/src/main/java/org/gcube/data/publishing/ckan2zenodo/model/parsing/TargetPath.java @@ -24,7 +24,7 @@ public class TargetPath { private ElementType type=ElementType.map; @XmlAttribute(required=false) - private Boolean append=false; + private Boolean append=true; @XmlValue private String value; diff --git a/src/test/java/org/gcube/tests/OneHitTest.java b/src/test/java/org/gcube/tests/OneHitTest.java index 47c4ab8..e3e04f5 100644 --- a/src/test/java/org/gcube/tests/OneHitTest.java +++ b/src/test/java/org/gcube/tests/OneHitTest.java @@ -55,7 +55,7 @@ public class OneHitTest { System.out.println("Publishing.. "); //Finalize -// System.out.println("DONE : "+client.publish(preview, item)); + System.out.println("DONE : "+client.publish(preview, item)); } diff --git a/src/test/resources/blue_cloud_deliverable.out.xml b/src/test/resources/blue_cloud_deliverable.out.xml new file mode 100644 index 0000000..e69de29 diff --git a/src/test/resources/blue_cloud_deliverable.xml b/src/test/resources/blue_cloud_deliverable.xml index 9d08279..cd33b0b 100644 --- a/src/test/resources/blue_cloud_deliverable.xml +++ b/src/test/resources/blue_cloud_deliverable.xml @@ -24,43 +24,43 @@ upload_type - - - $.extras[?(@.key=='Deliverable Author')].value - - $.metadata.creators - name - + + + + + + + - - - $.extras[?(@.key=='Deliverable Contributor')].value - - $.metadata.contributors - name - type - + + + + + + + + - - - 862409 - - $.metadata.grants - id - + + + + + + + - - - blue-cloud - - $.metadata.communities - identifier - + + + + + + +