Improved BibLatex exporter

This commit is contained in:
Luca Frosini 2023-01-10 15:44:58 +01:00
parent 83bb2c0e8e
commit 77085b479b
3 changed files with 49 additions and 14 deletions

View File

@ -88,7 +88,7 @@ public class BibLaTeXSoftwareVersionExporter extends SoftwareVersionExporter {
title = Utils.replaceVariable("version", softwareVersion.getVersion(), title);
return title;
}
private String getAuthors(JsonNode metadata) {
ArrayNode arrayNode = (ArrayNode) metadata.get("creators");
StringBuffer stringBuffer = new StringBuffer();
@ -113,7 +113,12 @@ public class BibLaTeXSoftwareVersionExporter extends SoftwareVersionExporter {
}
return stringBuffer.toString();
}
// private String getLicense(JsonNode metadata) {
// String license = metadata.get("license").asText();
// return license;
// }
private String getKeywords(JsonNode metadata) {
ArrayNode arrayNode = (ArrayNode) metadata.get("keywords");
StringBuffer stringBuffer = new StringBuffer();
@ -127,17 +132,47 @@ public class BibLaTeXSoftwareVersionExporter extends SoftwareVersionExporter {
return stringBuffer.toString();
}
// private String addNotes(String s) {
// StringBuffer note = new StringBuffer();
// note.append("\n\tnote = {");
// boolean noteFound = false;
// String gCubeReleaseVersion = softwareVersion.getGCubeReleaseVersion();
// if(gCubeReleaseVersion!=null) {
// noteFound = true;
// note.append("gCube Release Version: ");
// note.append(softwareVersion.getGCubeReleaseVersion());
// note.append("\n");
// }
// URL gCubeReleaseTicket = softwareVersion.getGCubeReleaseTicket();
// if(gCubeReleaseTicket != null) {
// noteFound = true;
// note.append("gCube Release Ticket: ");
// note.append(gCubeReleaseTicket.toString());
// note.append("\n");
// }
// note.append("\t},");
//
// if(noteFound) {
// note.insert(0, s.substring(0,s.length()-2));
// note.append("\n}");
// s = note.toString();
// }
// return s;
// }
protected String parseTemplate(String template) {
SoftwareConcept softwareConcept = softwareVersion.getSoftwareConcept();
JsonNode metadata = softwareConcept.getMetadata();
String s = Utils.replaceVariable("citation_id", getCitationID(), template);
s = Utils.replaceVariable("title", getTitle(metadata), s);
s = Utils.replaceVariable("doi", softwareVersion.getDOIURL().toString(), s);
s = Utils.replaceVariable("short_description", softwareConcept.getShortDescription(), s);
s = Utils.replaceVariable("version", softwareVersion.getVersion(), s);
s = Utils.replaceVariable("author", getAuthors(metadata), s);
s = Utils.replaceVariable("title", getTitle(metadata), s);
s = Utils.replaceVariable("short_description", softwareConcept.getShortDescription(), s);
s = Utils.replaceVariable("date", SoftwareVersion.getDateAsString(softwareVersion.getDate()), s);
s = Utils.replaceVariable("version", softwareVersion.getVersion(), s);
s = Utils.replaceVariable("doi", softwareVersion.getDOIURL().toString(), s);
s = Utils.replaceVariable("keywords", getKeywords(metadata), s);
// s = Utils.replaceVariable("license", getLicense(metadata), s);
// s = addNotes(s);
return s;
}

View File

@ -1,9 +1,9 @@
@software{{{citation_id}},
title = {{{title}}},
url = {{{doi}}},
abstract = {{{short_description}}},
version = {{{version}}},
author = {{{author}}},
title = {{{title}}},
abstract = {{{short_description}}},
date = {{{date}}},
keywords = {{{keywords}}},
version = {{{version}}},
url = {{{doi}}},
keywords = {{{keywords}}}
}

View File

@ -1,6 +1,6 @@
{
"name": "gcat",
"publish": "ALL",
"publish": "NONE",
"export": "ALL",
"short_description": "gCube Catalogue (gCat) Service allows any client to publish on the gCube Catalogue.",
"default_files":
@ -345,7 +345,7 @@
"gcube_release_ticket": "https://support.d4science.org/issues/23650",
"concept_doi_url": "https://doi.org/10.5072/zenodo.1139068",
"doi_url" : "https://doi.org/10.5072/zenodo.1144798",
"publish": true,
"publish": false,
"export": true
},
{
@ -355,7 +355,7 @@
"gcube_release_ticket": "https://support.d4science.org/issues/23885",
"concept_doi_url": "https://doi.org/10.5072/zenodo.1139068",
"doi_url" : "https://doi.org/10.5072/zenodo.1144799",
"publish": true,
"publish": false,
"export": true
}
],