improving corner case management
This commit is contained in:
parent
42e619a5b7
commit
4f831f19d7
|
@ -100,15 +100,12 @@ public class SoftwareConceptAnalyser {
|
||||||
previous = softwareVersion;
|
previous = softwareVersion;
|
||||||
}finally {
|
}finally {
|
||||||
|
|
||||||
/* Need to export the original file with the version doi */
|
/* Need to export the original file with the DOI and Version DOI */
|
||||||
if(originalVersion.has(SoftwareVersion.DOI_URL_PROPERTY_NAME)
|
if(softwareVersion.getDOIURL()!=null) {
|
||||||
&& originalVersion.get(SoftwareVersion.DOI_URL_PROPERTY_NAME).getNodeType()==JsonNodeType.NULL
|
|
||||||
&& softwareVersion.getDOIURL()!=null) {
|
|
||||||
originalVersion.put(SoftwareVersion.DOI_URL_PROPERTY_NAME, softwareVersion.getDOIURL().toString());
|
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)
|
if(softwareVersion.getVersionDOIURL()!=null) {
|
||||||
&& softwareVersion.getVersionDOIURL()!=null) {
|
|
||||||
originalVersion.put(SoftwareVersion.VERSION_DOI_URL_PROPERTY_NAME, softwareVersion.getVersionDOIURL().toString());
|
originalVersion.put(SoftwareVersion.VERSION_DOI_URL_PROPERTY_NAME, softwareVersion.getVersionDOIURL().toString());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -116,7 +113,6 @@ public class SoftwareConceptAnalyser {
|
||||||
URL doiURL = softwareVersion.getDOIURL();
|
URL doiURL = softwareVersion.getDOIURL();
|
||||||
softwareConcept.setDOIURL(doiURL);
|
softwareConcept.setDOIURL(doiURL);
|
||||||
concept.put(SoftwareConcept.DOI_URL_PROPERTY_NAME, doiURL.toString());
|
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;
|
throw e;
|
||||||
}finally {
|
}finally {
|
||||||
ObjectNode toBeExported = objectMapper.createObjectNode();
|
ObjectNode toBeExported = objectMapper.createObjectNode();
|
||||||
|
|
||||||
toBeExported.replace(CONCEPT_PROPERTY_NAME, concept);
|
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(VERSIONS_PROPERTY_NAME, exportingVersions);
|
||||||
toBeExported.replace(PUBLISHERS_PROPERTY_NAME, jsonNode.get(PUBLISHERS_PROPERTY_NAME).deepCopy());
|
toBeExported.replace(PUBLISHERS_PROPERTY_NAME, jsonNode.get(PUBLISHERS_PROPERTY_NAME).deepCopy());
|
||||||
toBeExported.replace(EXPORTERS_PROPERTY_NAME, jsonNode.get(EXPORTERS_PROPERTY_NAME).deepCopy());
|
toBeExported.replace(EXPORTERS_PROPERTY_NAME, jsonNode.get(EXPORTERS_PROPERTY_NAME).deepCopy());
|
||||||
|
|
|
@ -139,7 +139,7 @@
|
||||||
"group": "data-publishing",
|
"group": "data-publishing",
|
||||||
"files": [
|
"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"
|
"desired_name": "{{name}}-v{{version}}.war"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
|
Loading…
Reference in New Issue