improving corner case management
This commit is contained in:
parent
42e619a5b7
commit
4f831f19d7
|
@ -100,15 +100,12 @@ public class SoftwareConceptAnalyser {
|
|||
previous = softwareVersion;
|
||||
}finally {
|
||||
|
||||
/* Need to export the original file with the version doi */
|
||||
if(originalVersion.has(SoftwareVersion.DOI_URL_PROPERTY_NAME)
|
||||
&& originalVersion.get(SoftwareVersion.DOI_URL_PROPERTY_NAME).getNodeType()==JsonNodeType.NULL
|
||||
&& softwareVersion.getDOIURL()!=null) {
|
||||
/* Need to export the original file with the DOI and Version DOI */
|
||||
if(softwareVersion.getDOIURL()!=null) {
|
||||
originalVersion.put(SoftwareVersion.DOI_URL_PROPERTY_NAME, softwareVersion.getDOIURL().toString());
|
||||
}
|
||||
|
||||
if((!originalVersion.has(SoftwareVersion.VERSION_DOI_URL_PROPERTY_NAME) || originalVersion.get(SoftwareVersion.VERSION_DOI_URL_PROPERTY_NAME).getNodeType()==JsonNodeType.NULL)
|
||||
&& softwareVersion.getVersionDOIURL()!=null) {
|
||||
if(softwareVersion.getVersionDOIURL()!=null) {
|
||||
originalVersion.put(SoftwareVersion.VERSION_DOI_URL_PROPERTY_NAME, softwareVersion.getVersionDOIURL().toString());
|
||||
}
|
||||
|
||||
|
@ -116,7 +113,6 @@ public class SoftwareConceptAnalyser {
|
|||
URL doiURL = softwareVersion.getDOIURL();
|
||||
softwareConcept.setDOIURL(doiURL);
|
||||
concept.put(SoftwareConcept.DOI_URL_PROPERTY_NAME, doiURL.toString());
|
||||
originalVersion.put(SoftwareVersion.DOI_URL_PROPERTY_NAME, doiURL.toString());
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -129,8 +125,21 @@ public class SoftwareConceptAnalyser {
|
|||
throw e;
|
||||
}finally {
|
||||
ObjectNode toBeExported = objectMapper.createObjectNode();
|
||||
|
||||
toBeExported.replace(CONCEPT_PROPERTY_NAME, concept);
|
||||
|
||||
if(concept.has(SoftwareConcept.DOI_URL_PROPERTY_NAME) && concept.get(SoftwareConcept.DOI_URL_PROPERTY_NAME).getNodeType()!=JsonNodeType.NULL) {
|
||||
String conceptDOIURL = concept.get(SoftwareConcept.DOI_URL_PROPERTY_NAME).asText();
|
||||
|
||||
for(i=0; i<exportingVersions.size(); i++) {
|
||||
ObjectNode v = (ObjectNode) exportingVersions.get(i);
|
||||
if(v.has(SoftwareVersion.DOI_URL_PROPERTY_NAME) && v.get(SoftwareVersion.DOI_URL_PROPERTY_NAME).getNodeType()!=JsonNodeType.NULL){
|
||||
String vDOI = concept.get(SoftwareVersion.DOI_URL_PROPERTY_NAME).asText();
|
||||
if(conceptDOIURL.compareTo(vDOI)==0) {
|
||||
v.remove(SoftwareVersion.DOI_URL_PROPERTY_NAME);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
toBeExported.replace(VERSIONS_PROPERTY_NAME, exportingVersions);
|
||||
toBeExported.replace(PUBLISHERS_PROPERTY_NAME, jsonNode.get(PUBLISHERS_PROPERTY_NAME).deepCopy());
|
||||
toBeExported.replace(EXPORTERS_PROPERTY_NAME, jsonNode.get(EXPORTERS_PROPERTY_NAME).deepCopy());
|
||||
|
|
|
@ -139,7 +139,7 @@
|
|||
"group": "data-publishing",
|
||||
"files": [
|
||||
{
|
||||
"url": "https://nexus.d4science.org/nexus/service/local/repositories/gcube-snapshots/content/org/gcube/data-test/gcat/1.0.0-SNAPSHOT/gcat-1.0.0-20190109.172827-2.war",
|
||||
"url": "https://nexus.d4science.org/nexus/service/local/repositories/gcube-snapshots/content/org/gcube/data-publishing/gcat/1.0.0-SNAPSHOT/gcat-1.0.0-20190109.172827-2.war",
|
||||
"desired_name": "{{name}}-v{{version}}.war"
|
||||
}
|
||||
],
|
||||
|
|
Loading…
Reference in New Issue