RefactoringCode

This commit is contained in:
Luca Frosini 2023-01-30 14:50:58 +01:00
parent f30f35ec49
commit c06cd2b81c
11 changed files with 98 additions and 676 deletions

View File

@ -1,6 +1,5 @@
package org.gcube.common.software.analyser; package org.gcube.common.software.analyser;
import java.net.URL;
import java.util.Set; import java.util.Set;
import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeUnit;
@ -8,8 +7,6 @@ import org.gcube.com.fasterxml.jackson.databind.JsonNode;
import org.gcube.com.fasterxml.jackson.databind.ObjectMapper; import org.gcube.com.fasterxml.jackson.databind.ObjectMapper;
import org.gcube.com.fasterxml.jackson.databind.node.ArrayNode; import org.gcube.com.fasterxml.jackson.databind.node.ArrayNode;
import org.gcube.com.fasterxml.jackson.databind.node.ObjectNode; import org.gcube.com.fasterxml.jackson.databind.node.ObjectNode;
import org.gcube.com.fasterxml.jackson.databind.node.TextNode;
import org.gcube.common.software.model.GlobalConfig;
import org.gcube.common.software.model.SoftwareVersionConfig; import org.gcube.common.software.model.SoftwareVersionConfig;
import org.gcube.common.software.model.Variables; import org.gcube.common.software.model.Variables;
import org.gcube.common.software.utils.Utils; import org.gcube.common.software.utils.Utils;
@ -27,32 +24,32 @@ public class Analyser {
protected ObjectMapper objectMapper; protected ObjectMapper objectMapper;
protected ObjectNode originalGlobal; protected ObjectNode globalConfiguration;
protected ArrayNode originalVersions; protected ArrayNode versionConfigurations;
protected ArrayNode exportingVersions; protected ArrayNode elaboratedVersions;
public Analyser() throws Exception { public Analyser() throws Exception {
this.objectMapper = Utils.getObjectMapper(); this.objectMapper = Utils.getObjectMapper();
} }
public ObjectNode getOriginalGlobal() { public ObjectNode getGlobalConfiguration() {
return originalGlobal; return globalConfiguration;
} }
public void setOriginalGlobal(ObjectNode originalGlobal) { public void setGlobalConfiguration(ObjectNode originalGlobal) {
this.originalGlobal = originalGlobal.deepCopy(); this.globalConfiguration = originalGlobal.deepCopy();
} }
public ArrayNode getOriginalVersions() { public ArrayNode getVersionConfigurations() {
return originalVersions; return versionConfigurations;
} }
public void setOriginalVersions(ArrayNode originalVersions) { public void setVersionConfigurations(ArrayNode originalVersions) {
this.originalVersions = originalVersions.deepCopy(); this.versionConfigurations = originalVersions.deepCopy();
} }
public ArrayNode getExportingVersions() { public ArrayNode getElaboratedVersions() {
return exportingVersions; return elaboratedVersions;
} }
protected SoftwareVersionConfig actualizeSoftwareVersionConfig(JsonNode version) throws Exception { protected SoftwareVersionConfig actualizeSoftwareVersionConfig(JsonNode version) throws Exception {
@ -68,93 +65,30 @@ public class Analyser {
return softwareVersion; return softwareVersion;
} }
protected GlobalConfig actualizeGlobalConfig(JsonNode node) throws Exception {
Variables variables = objectMapper.treeToValue(node, Variables.class);
variables.parse();
JsonNode sc = objectMapper.convertValue(variables.getProperties(), JsonNode.class);
return objectMapper.treeToValue(sc, GlobalConfig.class);
}
public void analyse() throws Exception { public void analyse() throws Exception {
GlobalConfig globalConfig = actualizeGlobalConfig(originalGlobal);
globalConfig.setOriginalJson(originalGlobal);
SoftwareVersionConfig previous = null; SoftwareVersionConfig previous = null;
int i = 0; int i = 0;
exportingVersions = objectMapper.createArrayNode(); elaboratedVersions = objectMapper.createArrayNode();
try { for(i=0; i<versionConfigurations.size(); i++) {
for(i=0; i<originalVersions.size(); i++) { ObjectNode versionConfig = (ObjectNode) versionConfigurations.get(i).deepCopy();
ObjectNode originalVersion = (ObjectNode) originalVersions.get(i).deepCopy(); elaboratedVersions.set(i, versionConfig);
exportingVersions.add(originalVersion); JsonNode actualizedVersionConfig = Utils.merge(globalConfiguration, versionConfig);
JsonNode version = Utils.merge(originalGlobal, originalVersion);
SoftwareVersionConfig softwareVersion = actualizeSoftwareVersionConfig(version);
softwareVersion.setOriginalJson(originalVersion);
boolean newDOI = false;
if(softwareVersion.getDOIURL()==null) {
newDOI = true;
}
softwareVersion.setPrevious(previous);
if(previous!=null) {
previous.setNext(softwareVersion);
}
logger.trace("Going to process {}", softwareVersion.getTitle());
try {
SoftwareVersionConfigAnalyser softwareVersionAnalyser = new SoftwareVersionConfigAnalyser(softwareVersion);
softwareVersionAnalyser.setSoftwareConfig(globalConfig);
softwareVersionAnalyser.setFirst(i==0);
softwareVersionAnalyser.analyse();
previous = softwareVersion;
}finally {
/* Need to export the original file with the DOI and Version DOI */
URL doiURL = softwareVersion.getDOIURL();
if(doiURL!=null) {
originalVersion.put(SoftwareVersionConfig.DOI_URL_PROPERTY_NAME, doiURL.toString());
}
if(softwareVersion.getVersionDOIURL()!=null) {
originalVersion.put(SoftwareVersionConfig.VERSION_DOI_URL_PROPERTY_NAME, softwareVersion.getVersionDOIURL().toString());
}
if(newDOI) {
globalConfig.addProperty(SoftwareVersionConfig.DOI_URL_PROPERTY_NAME, new TextNode(doiURL.toString()));
originalGlobal.put(SoftwareVersionConfig.DOI_URL_PROPERTY_NAME, doiURL.toString());
}
}
Thread.sleep(TimeUnit.SECONDS.toMillis(2));
}
} catch (Exception e) {
for(int j=i+1; j<originalVersions.size(); j++) {
ObjectNode originalVersion = (ObjectNode) originalVersions.get(j).deepCopy();
exportingVersions.add(originalVersion);
}
throw e;
}finally {
// if(originalGlobal.has(SoftwareGlobalConfig.DOI_URL_PROPERTY_NAME) SoftwareVersionConfig softwareVersionConfig = actualizeSoftwareVersionConfig(actualizedVersionConfig);
// && originalGlobal.get(SoftwareGlobalConfig.DOI_URL_PROPERTY_NAME).getNodeType()!=JsonNodeType.NULL) { softwareVersionConfig.setOriginalJson(versionConfig);
// String conceptDOIURL = originalGlobal.get(SoftwareGlobalConfig.DOI_URL_PROPERTY_NAME).asText(); softwareVersionConfig.setPrevious(previous);
//
// for(i=0; i<exportingVersions.size(); i++) {
// ObjectNode v = (ObjectNode) exportingVersions.get(i);
// if(v.has(SoftwareVersionConfig.DOI_URL_PROPERTY_NAME)
// && v.get(SoftwareVersionConfig.DOI_URL_PROPERTY_NAME).getNodeType()!=JsonNodeType.NULL){
// String vDOI = v.get(SoftwareVersionConfig.DOI_URL_PROPERTY_NAME).asText();
// if(conceptDOIURL.compareTo(vDOI)==0) {
// v.remove(SoftwareVersionConfig.DOI_URL_PROPERTY_NAME);
// }
// }
// }
// }
logger.trace("Going to process {}", softwareVersionConfig.getTitle());
SoftwareVersionConfigAnalyser softwareVersionAnalyser = new SoftwareVersionConfigAnalyser(softwareVersionConfig);
softwareVersionAnalyser.setFirst(i==0);
softwareVersionAnalyser.analyse();
elaboratedVersions.set(i, softwareVersionAnalyser.getSoftwareVersionConfig().getOriginalJson());
Thread.sleep(TimeUnit.SECONDS.toMillis(2));
previous = softwareVersionAnalyser.getSoftwareVersionConfig();
} }
} }

View File

@ -37,9 +37,9 @@ public class AnalyserFactory {
public static Analyser getAnalyser(JsonNode jsonNode) throws Exception { public static Analyser getAnalyser(JsonNode jsonNode) throws Exception {
Analyser analyser = new Analyser(); Analyser analyser = new Analyser();
ObjectNode originalGlobal = (ObjectNode) jsonNode.get(GLOBAL_PROPERTY_NAME); ObjectNode originalGlobal = (ObjectNode) jsonNode.get(GLOBAL_PROPERTY_NAME);
analyser.setOriginalGlobal(originalGlobal); analyser.setGlobalConfiguration(originalGlobal);
ArrayNode originalVersions = (ArrayNode) jsonNode.get(VERSIONS_PROPERTY_NAME); ArrayNode originalVersions = (ArrayNode) jsonNode.get(VERSIONS_PROPERTY_NAME);
analyser.setOriginalVersions(originalVersions); analyser.setVersionConfigurations(originalVersions);
return analyser; return analyser;
} }
@ -47,8 +47,8 @@ public class AnalyserFactory {
public static ObjectNode getAnalysResultAsObjectNode(Analyser analyser) throws Exception { public static ObjectNode getAnalysResultAsObjectNode(Analyser analyser) throws Exception {
ObjectMapper objectMapper = Utils.getObjectMapper(); ObjectMapper objectMapper = Utils.getObjectMapper();
ObjectNode toBeExported = objectMapper.createObjectNode(); ObjectNode toBeExported = objectMapper.createObjectNode();
toBeExported.replace(GLOBAL_PROPERTY_NAME, analyser.getOriginalGlobal()); toBeExported.replace(GLOBAL_PROPERTY_NAME, analyser.getGlobalConfiguration());
toBeExported.replace(VERSIONS_PROPERTY_NAME, analyser.getExportingVersions()); toBeExported.replace(VERSIONS_PROPERTY_NAME, analyser.getElaboratedVersions());
return toBeExported; return toBeExported;
} }
@ -61,7 +61,7 @@ public class AnalyserFactory {
} }
public static void writeAnalysResultToFile(Analyser analyser) throws Exception { public static void writeAnalysResultToFile(Analyser analyser) throws Exception {
JsonNode jsonNode = analyser.getOriginalGlobal().get(AnalyserFactory.EXPORT_FILENAME_PROPERTY_NAME); JsonNode jsonNode = analyser.getGlobalConfiguration().get(AnalyserFactory.EXPORT_FILENAME_PROPERTY_NAME);
String fileName = jsonNode.getNodeType() == JsonNodeType.NULL ? null : jsonNode.asText(); String fileName = jsonNode.getNodeType() == JsonNodeType.NULL ? null : jsonNode.asText();
fileName = AnalyserFactory.getExportFileName(fileName); fileName = AnalyserFactory.getExportFileName(fileName);
File file = new File(fileName); File file = new File(fileName);

View File

@ -8,7 +8,6 @@ import java.util.Set;
import org.gcube.common.software.export.SoftwareVersionExporter; import org.gcube.common.software.export.SoftwareVersionExporter;
import org.gcube.common.software.model.ExporterConfig; import org.gcube.common.software.model.ExporterConfig;
import org.gcube.common.software.model.GlobalConfig;
import org.gcube.common.software.model.SoftwareVersionConfig; import org.gcube.common.software.model.SoftwareVersionConfig;
import org.gcube.common.software.model.SoftwareVersionFile; import org.gcube.common.software.model.SoftwareVersionFile;
import org.gcube.common.software.model.Variables; import org.gcube.common.software.model.Variables;
@ -22,7 +21,6 @@ public class SoftwareVersionConfigAnalyser {
private static final Logger logger = LoggerFactory.getLogger(SoftwareVersionConfigAnalyser.class); private static final Logger logger = LoggerFactory.getLogger(SoftwareVersionConfigAnalyser.class);
protected GlobalConfig softwareConfig;
protected SoftwareVersionConfig softwareVersionConfig; protected SoftwareVersionConfig softwareVersionConfig;
protected boolean first; protected boolean first;
@ -30,14 +28,6 @@ public class SoftwareVersionConfigAnalyser {
this.softwareVersionConfig = softwareVersionConfig; this.softwareVersionConfig = softwareVersionConfig;
} }
public GlobalConfig getSoftwareConfig() {
return softwareConfig;
}
public void setSoftwareConfig(GlobalConfig softwareConfig) {
this.softwareConfig = softwareConfig;
}
public SoftwareVersionConfig getSoftwareVersionConfig() { public SoftwareVersionConfig getSoftwareVersionConfig() {
return softwareVersionConfig; return softwareVersionConfig;
} }
@ -75,15 +65,14 @@ public class SoftwareVersionConfigAnalyser {
if(!availableExporterNames.containsAll(requestedExporterNames)) { if(!availableExporterNames.containsAll(requestedExporterNames)) {
requestedExporterNames.removeAll(availableExporterNames); requestedExporterNames.removeAll(availableExporterNames);
throw new Exception("The following requested Exporters does not exists " + requestedExporterNames); throw new Exception("The following requested availableExporters does not exists " + requestedExporterNames);
} }
for(String className : requestedExporters.keySet()) { for(String className : requestedExporters.keySet()) {
logger.debug("Goign to export with {}", className); logger.debug("Going to export with {}", className);
Class<? extends SoftwareVersionExporter> exporterClass = availableExporters.get(className); Class<? extends SoftwareVersionExporter> exporterClass = availableExporters.get(className);
SoftwareVersionExporter sve = exporterClass.newInstance(); SoftwareVersionExporter sve = exporterClass.newInstance();
ExporterConfig exporterConfig = requestedExporters.get(className); ExporterConfig exporterConfig = requestedExporters.get(className);
sve.setGlobalConfig(softwareConfig);
sve.setSoftwareVersion(softwareVersionConfig); sve.setSoftwareVersion(softwareVersionConfig);
sve.setExporterConfig(exporterConfig); sve.setExporterConfig(exporterConfig);
sve.setFirst(first); sve.setFirst(first);

View File

@ -6,7 +6,6 @@ import java.util.Map;
import org.gcube.common.software.export.biblatex.BibLaTeXSoftwareVersionExporter; import org.gcube.common.software.export.biblatex.BibLaTeXSoftwareVersionExporter;
import org.gcube.common.software.export.zenodo.ZenodoSoftwareVersionExporter; import org.gcube.common.software.export.zenodo.ZenodoSoftwareVersionExporter;
import org.gcube.common.software.model.ExporterConfig; import org.gcube.common.software.model.ExporterConfig;
import org.gcube.common.software.model.GlobalConfig;
import org.gcube.common.software.model.SoftwareVersionConfig; import org.gcube.common.software.model.SoftwareVersionConfig;
/** /**
@ -14,35 +13,29 @@ import org.gcube.common.software.model.SoftwareVersionConfig;
*/ */
public abstract class SoftwareVersionExporter { public abstract class SoftwareVersionExporter {
protected static Map<String, Class<? extends SoftwareVersionExporter>> processors; protected static Map<String, Class<? extends SoftwareVersionExporter>> availableExporters;
static { static {
processors = new HashMap<>(); availableExporters = new HashMap<>();
add(ZenodoSoftwareVersionExporter.class); add(ZenodoSoftwareVersionExporter.class);
add(BibLaTeXSoftwareVersionExporter.class); add(BibLaTeXSoftwareVersionExporter.class);
} }
private static void add(Class<? extends SoftwareVersionExporter> clz) { private static void add(Class<? extends SoftwareVersionExporter> clz) {
processors.put(clz.getSimpleName(), clz); availableExporters.put(clz.getSimpleName(), clz);
} }
public static Map<String, Class<? extends SoftwareVersionExporter>> getAvailableExporters() { public static Map<String, Class<? extends SoftwareVersionExporter>> getAvailableExporters() {
return processors; return availableExporters;
} }
protected GlobalConfig globalConfig;
protected SoftwareVersionConfig softwareVersionConfig; protected SoftwareVersionConfig softwareVersionConfig;
protected ExporterConfig processorConfig; protected ExporterConfig processorConfig;
protected boolean first; protected boolean first;
public GlobalConfig getGlobalConfig() { protected String fileExtension;
return globalConfig; protected String output;
}
public void setGlobalConfig(GlobalConfig softwareConfig) {
this.globalConfig = softwareConfig;
}
public SoftwareVersionConfig getSoftwareVersionConfig() { public SoftwareVersionConfig getSoftwareVersionConfig() {
return softwareVersionConfig; return softwareVersionConfig;
} }

View File

@ -166,8 +166,12 @@ public class BibLaTeXSoftwareVersionExporter extends SoftwareVersionExporter {
logger.info("Going to export {} in BibLaTex format.", title); logger.info("Going to export {} in BibLaTex format.", title);
String template = getTemplate(); String template = getTemplate();
String toBeExported = parseTemplate(template); output = parseTemplate(template);
writeToFile();
}
protected void writeToFile() throws Exception {
File exportFile = getExportFile(); File exportFile = getExportFile();
if (first && exportFile.exists()) { if (first && exportFile.exists()) {
exportFile.delete(); exportFile.delete();
@ -179,13 +183,13 @@ public class BibLaTeXSoftwareVersionExporter extends SoftwareVersionExporter {
FileWriter fileWritter = new FileWriter(exportFile, true); FileWriter fileWritter = new FileWriter(exportFile, true);
BufferedWriter bw = new BufferedWriter(fileWritter); BufferedWriter bw = new BufferedWriter(fileWritter);
bw.write(toBeExported); bw.write(output);
bw.write("\n\n"); bw.write("\n\n");
bw.close(); bw.close();
} }
protected File getExportFile() { protected File getExportFile() {
JsonNode jsonNode = globalConfig.getProperty(AnalyserFactory.EXPORT_FILENAME_PROPERTY_NAME); JsonNode jsonNode = softwareVersionConfig.getAdditionalProperty(AnalyserFactory.EXPORT_FILENAME_PROPERTY_NAME);
String fileName = jsonNode.getNodeType() == JsonNodeType.NULL ? null : jsonNode.asText(); String fileName = jsonNode.getNodeType() == JsonNodeType.NULL ? null : jsonNode.asText();
fileName = AnalyserFactory.getExportFileName(fileName); fileName = AnalyserFactory.getExportFileName(fileName);
File file = new File(fileName + EXPORT_FILENAME_EXTENSION); File file = new File(fileName + EXPORT_FILENAME_EXTENSION);

View File

@ -31,6 +31,7 @@ import org.gcube.common.gxhttp.request.GXHTTPStringRequest;
import org.gcube.common.software.config.Config; import org.gcube.common.software.config.Config;
import org.gcube.common.software.export.SoftwareVersionExporter; import org.gcube.common.software.export.SoftwareVersionExporter;
import org.gcube.common.software.model.ElaborationType; import org.gcube.common.software.model.ElaborationType;
import org.gcube.common.software.model.SoftwareVersionConfig;
import org.gcube.common.software.model.SoftwareVersionFile; import org.gcube.common.software.model.SoftwareVersionFile;
import org.gcube.common.software.utils.Utils; import org.gcube.common.software.utils.Utils;
import org.glassfish.jersey.client.ClientProperties; import org.glassfish.jersey.client.ClientProperties;
@ -55,11 +56,7 @@ public class ZenodoSoftwareVersionExporter extends SoftwareVersionExporter {
public static final String METADATA_FIELD_NAME = "metadata"; public static final String METADATA_FIELD_NAME = "metadata";
// private static final String SANDBOX_BASE_PATH = "https://sandbox.zenodo.org"; public static final String PREVIOUS = "PREVIOUS";
// private static final String SANDBOX_DOI_URL_BASE_PATH = "https://doi.org/10.5072/zenodo.";
//
// private static final String PRODUCTION_BASE_PATH = "https://zenodo.org";
// private static final String PRODUCTION_DOI_URL_BASE_PATH = "https://doi.org/10.5281/zenodo.";
public static final String DEPOSITIONS_COLLECTION_PATH = "/api/deposit/depositions"; public static final String DEPOSITIONS_COLLECTION_PATH = "/api/deposit/depositions";
public static final String DEPOSITION_PATH = DEPOSITIONS_COLLECTION_PATH + "/:id"; public static final String DEPOSITION_PATH = DEPOSITIONS_COLLECTION_PATH + "/:id";
@ -272,9 +269,11 @@ public class ZenodoSoftwareVersionExporter extends SoftwareVersionExporter {
response = getResponse(httpURLConnection); response = getResponse(httpURLConnection);
URL conceptDOIURL = createZenodoDOIURLFromID(response.get("conceptrecid").asText()); URL conceptDOIURL = createZenodoDOIURLFromID(response.get("conceptrecid").asText());
softwareVersionConfig.setDOIURL(conceptDOIURL); softwareVersionConfig.setConceptDOIURL(conceptDOIURL);
softwareVersionConfig.getOriginalJson().put(SoftwareVersionConfig.CONCEPT_DOI_URL_PROPERTY_NAME, conceptDOIURL.toString());
URL doiURL = new URL(doiBaseURL + response.get("id").asText()); URL doiURL = new URL(doiBaseURL + response.get("id").asText());
softwareVersionConfig.setVersionDOIURL(doiURL); softwareVersionConfig.setVersionDOIURL(doiURL);
softwareVersionConfig.getOriginalJson().put(SoftwareVersionConfig.VERSION_DOI_URL_PROPERTY_NAME, doiURL.toString());
finalize(); finalize();
} }
@ -402,7 +401,7 @@ public class ZenodoSoftwareVersionExporter extends SoftwareVersionExporter {
gxHTTPStringRequest.queryParams(getAccessTokenQueryParamters()); gxHTTPStringRequest.queryParams(getAccessTokenQueryParamters());
gxHTTPStringRequest.header("Content-Type", "application/json"); gxHTTPStringRequest.header("Content-Type", "application/json");
gxHTTPStringRequest.header("Accept", "application/json"); gxHTTPStringRequest.header("Accept", "application/json");
String conceptID = getZenodoIDFromDOIURL(softwareVersionConfig.getDOIURL()); String conceptID = getZenodoIDFromDOIURL(softwareVersionConfig.getConceptDOIURL());
gxHTTPStringRequest.path(RECORD_PATH.replace(":id", conceptID)); gxHTTPStringRequest.path(RECORD_PATH.replace(":id", conceptID));
HttpURLConnection httpURLConnection = gxHTTPStringRequest.get(); HttpURLConnection httpURLConnection = gxHTTPStringRequest.get();
JsonNode jsonNode = getResponse(httpURLConnection); JsonNode jsonNode = getResponse(httpURLConnection);
@ -422,7 +421,7 @@ public class ZenodoSoftwareVersionExporter extends SoftwareVersionExporter {
String latestVersionVersion = jsonNode.get("metadata").get("version").asText(); String latestVersionVersion = jsonNode.get("metadata").get("version").asText();
String previousVersionVersion = softwareVersionConfig.getPrevious().getVersion().toString(); String previousVersionVersion = softwareVersionConfig.getPrevious().getVersion().toString();
if(latestVersionVersion.compareTo(previousVersionVersion)!=0) { if(latestVersionVersion.compareTo(previousVersionVersion)!=0) {
logger.error("Zenodo obtained latest Version {} != {} Versoin from previous version", latestVersionVersion, previousVersionVersion); logger.error("Zenodo obtained latest Version {} != {} Version from previous version", latestVersionVersion, previousVersionVersion);
throw new RuntimeException("It seems that your json is not up to date with Zenodo."); throw new RuntimeException("It seems that your json is not up to date with Zenodo.");
} }
@ -457,6 +456,7 @@ public class ZenodoSoftwareVersionExporter extends SoftwareVersionExporter {
// The reserved DOI of this created new version will be // The reserved DOI of this created new version will be
URL doiURL = new URL(response.get("doi_url").asText()); URL doiURL = new URL(response.get("doi_url").asText());
softwareVersionConfig.setVersionDOIURL(doiURL); softwareVersionConfig.setVersionDOIURL(doiURL);
softwareVersionConfig.getOriginalJson().put(SoftwareVersionConfig.VERSION_DOI_URL_PROPERTY_NAME, doiURL.toString());
// Remove previous depositionFiles // Remove previous depositionFiles
deletePreviousFiles(); deletePreviousFiles();
@ -514,13 +514,15 @@ public class ZenodoSoftwareVersionExporter extends SoftwareVersionExporter {
softwareVersionConfig.setNewDeposition(true); softwareVersionConfig.setNewDeposition(true);
if(softwareVersionConfig.getDOIURL()==null) { if(softwareVersionConfig.getConceptDOIURL()==null) {
create(); create();
}else { }else {
newVersion(); newVersion();
} }
} }
} }
output = Utils.getObjectMapper().writeValueAsString(softwareVersionConfig.getOriginalJson());
} }
} }

View File

@ -33,16 +33,13 @@ public class SoftwareVersionConfig {
public static final String AUTHORS_PROPERTY_NAME = "authors"; public static final String AUTHORS_PROPERTY_NAME = "authors";
public static final String FILES_PROPERTY_NAME = "files"; public static final String FILES_PROPERTY_NAME = "files";
public static final String CODE_LOCATION_PROPERTY_NAME = "code_location"; public static final String CODE_LOCATION_PROPERTY_NAME = "code_location";
public static final String DOI_URL_PROPERTY_NAME = "doi_url"; public static final String CONCEPT_DOI_URL_PROPERTY_NAME = "concept_doi_url";
public static final String VERSION_DOI_URL_PROPERTY_NAME = "version_doi_url"; public static final String VERSION_DOI_URL_PROPERTY_NAME = "version_doi_url";
public static final String GRANTS_PROPERTY_NAME = "grants"; public static final String GRANTS_PROPERTY_NAME = "grants";
public static final String EXPORTERS_PROPERTY_NAME = "exporters"; public static final String EXPORTERS_PROPERTY_NAME = "availableExporters";
@JsonIgnore @JsonIgnore
protected SoftwareVersionConfig previous; protected SoftwareVersionConfig previous;
@JsonIgnore
protected SoftwareVersionConfig next;
@JsonIgnore @JsonIgnore
protected Boolean newDeposition; protected Boolean newDeposition;
@ -75,8 +72,8 @@ public class SoftwareVersionConfig {
@JsonProperty(CODE_LOCATION_PROPERTY_NAME) @JsonProperty(CODE_LOCATION_PROPERTY_NAME)
protected String codeLocation; protected String codeLocation;
@JsonProperty(DOI_URL_PROPERTY_NAME) @JsonProperty(CONCEPT_DOI_URL_PROPERTY_NAME)
protected URL doiURL; protected URL conceptDOIURL;
@JsonProperty(VERSION_DOI_URL_PROPERTY_NAME) @JsonProperty(VERSION_DOI_URL_PROPERTY_NAME)
protected URL versionDOIURL; protected URL versionDOIURL;
@ -104,16 +101,6 @@ public class SoftwareVersionConfig {
this.previous = previous; this.previous = previous;
} }
@JsonIgnore
public SoftwareVersionConfig getNext() {
return next;
}
@JsonIgnore
public void setNext(SoftwareVersionConfig next) {
this.next = next;
}
@JsonIgnore @JsonIgnore
public Boolean isNewDeposition() { public Boolean isNewDeposition() {
return newDeposition; return newDeposition;
@ -180,12 +167,12 @@ public class SoftwareVersionConfig {
return codeLocation; return codeLocation;
} }
public URL getDOIURL() { public URL getConceptDOIURL() {
return doiURL; return conceptDOIURL;
} }
public void setDOIURL(URL doiURL) { public void setConceptDOIURL(URL doiURL) {
this.doiURL = doiURL; this.conceptDOIURL = doiURL;
} }
public URL getVersionDOIURL() { public URL getVersionDOIURL() {

View File

@ -1,160 +0,0 @@
@software{gcat_1.0.0,
author = {{Luca Frosini}},
title = {gCube Catalogue (gCat) Service 1.0.0},
abstract = {gCube Catalogue (gCat) Service allows the publication of items in the gCube Catalogue.},
date = {2019-01-10},
version = {1.0.0},
url = {https://doi.org/10.5072/zenodo.1145770},
keywords = {Catalogue, D4Science, gCube}
}
@software{gcat_1.1.0,
author = {{Luca Frosini}},
title = {gCube Catalogue (gCat) Service 1.1.0},
abstract = {gCube Catalogue (gCat) Service allows the publication of items in the gCube Catalogue.},
date = {2019-02-26},
version = {1.1.0},
url = {https://doi.org/10.5072/zenodo.1145771},
keywords = {Catalogue, D4Science, gCube}
}
@software{gcat_1.2.0,
author = {{Luca Frosini}},
title = {gCube Catalogue (gCat) Service 1.2.0},
abstract = {gCube Catalogue (gCat) Service allows the publication of items in the gCube Catalogue.},
date = {2019-05-20},
version = {1.2.0},
url = {https://doi.org/10.5072/zenodo.1145772},
keywords = {Catalogue, D4Science, gCube}
}
@software{gcat_1.3.0,
author = {{Luca Frosini}},
title = {gCube Catalogue (gCat) Service 1.3.0},
abstract = {gCube Catalogue (gCat) Service allows the publication of items in the gCube Catalogue.},
date = {2019-06-27},
version = {1.3.0},
url = {https://doi.org/10.5072/zenodo.1145773},
keywords = {Catalogue, D4Science, gCube}
}
@software{gcat_1.4.0,
author = {{Luca Frosini}},
title = {gCube Catalogue (gCat) Service 1.4.0},
abstract = {gCube Catalogue (gCat) Service allows the publication of items in the gCube Catalogue.},
date = {2019-11-20},
version = {1.4.0},
url = {https://doi.org/10.5072/zenodo.1145774},
keywords = {Catalogue, D4Science, gCube}
}
@software{gcat_1.4.1,
author = {{Luca Frosini}},
title = {gCube Catalogue (gCat) Service 1.4.1},
abstract = {gCube Catalogue (gCat) Service allows the publication of items in the gCube Catalogue.},
date = {2019-12-20},
version = {1.4.1},
url = {https://doi.org/10.5072/zenodo.1145775},
keywords = {Catalogue, D4Science, gCube}
}
@software{gcat_1.4.2,
author = {{Luca Frosini}},
title = {gCube Catalogue (gCat) Service 1.4.2},
abstract = {gCube Catalogue (gCat) Service allows the publication of items in the gCube Catalogue.},
date = {2020-02-14},
version = {1.4.2},
url = {https://doi.org/10.5072/zenodo.1145776},
keywords = {Catalogue, D4Science, gCube}
}
@software{gcat_1.4.3,
author = {{Luca Frosini}},
title = {gCube Catalogue (gCat) Service 1.4.3},
abstract = {gCube Catalogue (gCat) Service allows the publication of items in the gCube Catalogue.},
date = {2020-06-16},
version = {1.4.3},
url = {https://doi.org/10.5072/zenodo.1145779},
keywords = {Catalogue, D4Science, gCube}
}
@software{gcat_1.4.4,
author = {{Luca Frosini}},
title = {gCube Catalogue (gCat) Service 1.4.4},
abstract = {gCube Catalogue (gCat) Service allows the publication of items in the gCube Catalogue.},
date = {2021-02-24},
version = {1.4.4},
url = {https://doi.org/10.5072/zenodo.1145780},
keywords = {Catalogue, D4Science, gCube}
}
@software{gcat_1.4.5,
author = {{Luca Frosini}},
title = {gCube Catalogue (gCat) Service 1.4.5},
abstract = {gCube Catalogue (gCat) Service allows the publication of items in the gCube Catalogue.},
date = {2021-03-31},
version = {1.4.5},
url = {https://doi.org/10.5072/zenodo.1145781},
keywords = {Catalogue, D4Science, gCube}
}
@software{gcat_2.0.0,
author = {{Luca Frosini}},
title = {gCube Catalogue (gCat) Service 2.0.0},
abstract = {gCube Catalogue (gCat) Service allows the publication of items in the gCube Catalogue.},
date = {2021-05-04},
version = {2.0.0},
url = {https://doi.org/10.5072/zenodo.1145783},
keywords = {Catalogue, D4Science, gCube}
}
@software{gcat_2.1.0,
author = {{Luca Frosini}},
title = {gCube Catalogue (gCat) Service 2.1.0},
abstract = {gCube Catalogue (gCat) Service allows the publication of items in the gCube Catalogue.},
date = {2022-01-27},
version = {2.1.0},
url = {https://doi.org/10.5072/zenodo.1145784},
keywords = {Catalogue, D4Science, gCube}
}
@software{gcat_2.2.0,
author = {{Luca Frosini}},
title = {gCube Catalogue (gCat) Service 2.2.0},
abstract = {gCube Catalogue (gCat) Service allows the publication of items in the gCube Catalogue.},
date = {2022-05-12},
version = {2.2.0},
url = {https://doi.org/10.5072/zenodo.1145785},
keywords = {Catalogue, D4Science, gCube}
}
@software{gcat_2.3.0,
author = {{Luca Frosini}},
title = {gCube Catalogue (gCat) Service 2.3.0},
abstract = {gCube Catalogue (gCat) Service allows the publication of items in the gCube Catalogue.},
date = {2022-07-22},
version = {2.3.0},
url = {https://doi.org/10.5072/zenodo.1145786},
keywords = {Catalogue, D4Science, gCube}
}
@software{gcat_2.4.0,
author = {{Luca Frosini}},
title = {gCube Catalogue (gCat) Service 2.4.0},
abstract = {gCube Catalogue (gCat) Service allows the publication of items in the gCube Catalogue.},
date = {2022-09-16},
version = {2.4.0},
url = {https://doi.org/10.5072/zenodo.1145787},
keywords = {Catalogue, D4Science, gCube}
}
@software{gcat_2.4.1,
author = {{Luca Frosini}},
title = {gCube Catalogue (gCat) Service 2.4.1},
abstract = {gCube Catalogue (gCat) Service allows the publication of items in the gCube Catalogue.},
date = {2022-12-07},
version = {2.4.1},
url = {https://doi.org/10.5072/zenodo.1145788},
keywords = {Catalogue, D4Science, gCube}
}

View File

@ -1,340 +0,0 @@
{
"global":
{
"name": "gcat",
"group": "data-catalogue",
"title": "gCube Catalogue (gCat) Service {{version}}",
"license":
{
"id": "EUPL-1.1",
"url": "https://opensource.org/licenses/EUPL-1.1"
},
"keywords":
[
"gCube",
"Catalogue",
"D4Science"
],
"description": "gCube Catalogue (gCat) Service allows to publish items in the gCube Catalogue.",
"authors":
[
{
"affiliation": "Istituto di Scienza e Tecnologie dell'Informazione \"A. Faedo\" - CNR, Italy",
"name": "Frosini, Luca",
"orcid": "0000-0003-3183-2291"
}
],
"files":
[
{
"url": "https://code-repo.d4science.org/gCubeSystem/{{name}}/archive/v{{version}}.zip",
"desired_name": "{{name}}-v{{version}}.zip"
},
{
"url": "https://code-repo.d4science.org/gCubeSystem/{{name}}/archive/v{{version}}.tar.gz",
"desired_name": "{{name}}-v{{version}}.tar.gz"
},
{
"url": "https://nexus.d4science.org/nexus/service/local/repo_groups/gcube-releases-all/content/org/gcube/{{group}}/{{name}}/{{version}}/{{name}}-{{version}}.war",
"desired_name": "{{name}}-v{{version}}.war"
}
],
"code_location": "https://code-repo.d4science.org/gCubeSystem/{{name}}",
"doi_url": "https://doi.org/10.5072/zenodo.1145782",
"grants":
[
{
"id": "004260",
"name": "DILIGENT",
"url": "https://cordis.europa.eu/project/id/004260"
},
{
"id": "212488",
"name": "D4Science",
"url": "https://cordis.europa.eu/project/id/212488"
},
{
"id": "239019",
"name": "D4Science-II",
"url": "https://cordis.europa.eu/project/id/239019"
},
{
"id": "283465",
"name": "ENVRI",
"url": "https://cordis.europa.eu/project/id/283465"
},
{
"id": "283644",
"name": "iMarine",
"url": "https://cordis.europa.eu/project/id/283644"
},
{
"id": "288754",
"name": "EUBrazilOpenBio",
"url": "https://cordis.europa.eu/project/id/288754"
},
{
"id": "654024",
"name": "SoBigData",
"url": "https://cordis.europa.eu/project/id/654024"
},
{
"id": "654119",
"name": "PARTHENOS",
"url": "https://cordis.europa.eu/project/id/654119"
},
{
"id": "654142",
"name": "EGI-Engage",
"url": "https://cordis.europa.eu/project/id/654142"
},
{
"id": "654182",
"name": "ENVRI PLUS",
"url": "https://cordis.europa.eu/project/id/654182"
},
{
"id": "675680",
"name": "BlueBRIDGE",
"url": "https://cordis.europa.eu/project/id/675680"
},
{
"id": "727610",
"name": "PerformFISH",
"url": "https://cordis.europa.eu/project/id/727610"
},
{
"id": "731001",
"name": "AGINFRA PLUS",
"url": "https://cordis.europa.eu/project/id/731001"
},
{
"id": "818194",
"name": "DESIRA",
"url": "https://cordis.europa.eu/project/id/818194"
},
{
"id": "823914",
"name": "ARIADNEplus",
"url": "https://cordis.europa.eu/project/id/823914"
},
{
"id": "824091",
"name": "RISIS 2",
"url": "https://cordis.europa.eu/project/id/824091"
},
{
"id": "857650",
"name": "EOSC-Pillar",
"url": "https://cordis.europa.eu/project/id/857650"
},
{
"id": "862409",
"name": "Blue Cloud",
"url": "https://cordis.europa.eu/project/id/862409"
},
{
"id": "871042",
"name": "SoBigData-PlusPlus",
"url": "https://cordis.europa.eu/project/id/871042"
}
],
"exporters": {
"ZenodoSoftwareVersionExporter": {
"elaboration": "NONE",
"html_description": "<p><a href=\"https://www.gcube-system.org/\">gCube</a> Catalogue (gCat) Service allows any client to publish items in the gCube Catalogue.</p>\n\n<p><a href=\"https://www.gcube-system.org/\">gCube</a> is an open-source software toolkit used for building and operating Hybrid Data Infrastructures enabling the dynamic deployment of Virtual Research Environments, such as the <a href=\"https://www.d4science.org/\">D4Science Infrastructure</a>, by favouring the realisation of reuse-oriented policies.</p>\n\n<p><a href=\"https://www.gcube-system.org/\">gCube</a> has been used to successfully build and operate infrastructures and virtual research environments for application domains ranging from biodiversity to environmental data management and cultural heritage.</p>\n\n<p><a href=\"https://www.gcube-system.org/\">gCube</a> offers components supporting typical data management workflows including data access, curation, processing, and visualisation on a large set of data typologies ranging from primary biodiversity data to geospatial and tabular data.</p>\n\n<p><a href=\"https://www.d4science.org/\">D4Science</a> is a Hybrid Data Infrastructure combining over 500 software components and integrating data from more than 50 different data providers into a coherent and managed system of hardware, software, and data resources. The D4Science infrastructure drastically reduces the cost of ownership, maintenance, and operation thanks to the exploitation of gCube.</p>\n\n<p>&nbsp;</p>",
"html_code_location": "\n\n<p>The official source code location of this software version is available at:</p>\n\n<p><a href=\"{{code_location}}\">{{code_location}}</a></p>",
"skip_grants": ["004260"]
},
"BibLaTeXSoftwareVersionExporter": {
"elaboration": "ALL"
}
}
},
"versions":
[
{
"version": "1.0.0",
"date": "2019-01-10",
"group": "data-publishing",
"files":
[
{
"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"
}
],
"gcube_release_version": null,
"gcube_release_ticket": null,
"version_doi_url": "https://doi.org/10.5072/zenodo.1145770",
"code_location": null,
"doi_url": "https://doi.org/10.5072/zenodo.1145769"
},
{
"version": "1.1.0",
"date": "2019-02-26",
"group": "data-publishing",
"files":
[
{
"url": "https://nexus.d4science.org/nexus/service/local/repo_groups/gcube-releases-all/content/org/gcube/data-publishing/gcat/1.1.0-4.13.1-177071/gcat-1.1.0-4.13.1-177071-src.zip",
"desired_name": "{{name}}-v{{version}}.zip"
},
{
"url": "https://nexus.d4science.org/nexus/service/local/repo_groups/gcube-releases-all/content/org/gcube/data-publishing/gcat/1.1.0-4.13.1-177071/gcat-1.1.0-4.13.1-177071.war",
"desired_name": "{{name}}-v{{version}}.war"
}
],
"gcube_release_version": "4.13.1",
"gcube_release_ticket": "https://support.d4science.org/issues/12988",
"version_doi_url": "https://doi.org/10.5072/zenodo.1145771",
"code_location": null,
"doi_url": "https://doi.org/10.5072/zenodo.1145769"
},
{
"version": "1.2.0",
"date": "2019-05-20",
"group": "data-publishing",
"files":
[
{
"url": "https://nexus.d4science.org/nexus/service/local/repositories/gcube-snapshots/content/org/gcube/data-publishing/gcat/1.2.0-SNAPSHOT/gcat-1.2.0-20190520.132914-10.war",
"desired_name": "{{name}}-v{{version}}.war"
}
],
"gcube_release_version": null,
"gcube_release_ticket": null,
"version_doi_url": "https://doi.org/10.5072/zenodo.1145772",
"code_location": null,
"doi_url": "https://doi.org/10.5072/zenodo.1145769"
},
{
"version": "1.3.0",
"date": "2019-06-27",
"group": "data-publishing",
"files":
[
{
"url": "https://nexus.d4science.org/nexus/service/local/repo_groups/gcube-releases-all/content/org/gcube/data-publishing/gcat/1.3.0-4.14.0-179505/gcat-1.3.0-4.14.0-179505-src.zip",
"desired_name": "{{name}}-v{{version}}.zip"
},
{
"url": "https://nexus.d4science.org/nexus/service/local/repo_groups/gcube-releases-all/content/org/gcube/data-publishing/gcat/1.3.0-4.14.0-179505/gcat-1.3.0-4.14.0-179505.war",
"desired_name": "{{name}}-v{{version}}.war"
}
],
"gcube_release_version": "4.14.0",
"gcube_release_ticket": "https://support.d4science.org/issues/16743",
"version_doi_url": "https://doi.org/10.5072/zenodo.1145773",
"code_location": null,
"doi_url": "https://doi.org/10.5072/zenodo.1145769"
},
{
"version": "1.4.0",
"date": "2019-11-20",
"group": "data-publishing",
"gcube_release_version": "4.15.0",
"gcube_release_ticket": "https://support.d4science.org/issues/17294",
"version_doi_url": "https://doi.org/10.5072/zenodo.1145774",
"code_location": "https://code-repo.d4science.org/gCubeSystem/{{name}}/releases/tag/v{{version}}",
"doi_url": "https://doi.org/10.5072/zenodo.1145769"
},
{
"version": "1.4.1",
"date": "2019-12-20",
"group": "data-publishing",
"gcube_release_version": "4.18.0",
"gcube_release_ticket": "https://support.d4science.org/issues/18335",
"version_doi_url": "https://doi.org/10.5072/zenodo.1145775",
"code_location": "https://code-repo.d4science.org/gCubeSystem/{{name}}/releases/tag/v{{version}}",
"doi_url": "https://doi.org/10.5072/zenodo.1145769"
},
{
"version": "1.4.2",
"date": "2020-02-14",
"group": "data-publishing",
"gcube_release_version": "4.20.0",
"gcube_release_ticket": "https://support.d4science.org/issues/18507",
"version_doi_url": "https://doi.org/10.5072/zenodo.1145776",
"code_location": "https://code-repo.d4science.org/gCubeSystem/{{name}}/releases/tag/v{{version}}",
"doi_url": "https://doi.org/10.5072/zenodo.1145769"
},
{
"version": "1.4.3",
"date": "2020-06-16",
"group": "data-publishing",
"gcube_release_version": "4.23.0",
"gcube_release_ticket": "https://support.d4science.org/issues/19322",
"version_doi_url": "https://doi.org/10.5072/zenodo.1145779",
"code_location": "https://code-repo.d4science.org/gCubeSystem/{{name}}/releases/tag/v{{version}}",
"doi_url": "https://doi.org/10.5072/zenodo.1145769"
},
{
"version": "1.4.4",
"date": "2021-02-24",
"group": "data-publishing",
"gcube_release_version": "5.0.0",
"gcube_release_ticket": "https://support.d4science.org/issues/20648",
"version_doi_url": "https://doi.org/10.5072/zenodo.1145780",
"code_location": "https://code-repo.d4science.org/gCubeSystem/{{name}}/releases/tag/v{{version}}",
"doi_url": "https://doi.org/10.5072/zenodo.1145769"
},
{
"version": "1.4.5",
"date": "2021-03-31",
"group": "data-publishing",
"gcube_release_version": "5.1.0",
"gcube_release_ticket": "https://support.d4science.org/issues/20920",
"version_doi_url": "https://doi.org/10.5072/zenodo.1145781",
"code_location": "https://code-repo.d4science.org/gCubeSystem/{{name}}/releases/tag/v{{version}}",
"doi_url": "https://doi.org/10.5072/zenodo.1145769"
},
{
"version": "2.0.0",
"date": "2021-05-04",
"gcube_release_version": "5.2.0",
"version_doi_url": "https://doi.org/10.5072/zenodo.1145783",
"code_location": "https://code-repo.d4science.org/gCubeSystem/{{name}}/releases/tag/v{{version}}"
},
{
"version": "2.1.0",
"date": "2022-01-27",
"gcube_release_version": "5.7.0",
"gcube_release_ticket": "https://support.d4science.org/issues/21685/",
"version_doi_url": "https://doi.org/10.5072/zenodo.1145784",
"code_location": "https://code-repo.d4science.org/gCubeSystem/{{name}}/releases/tag/v{{version}}"
},
{
"version": "2.2.0",
"date": "2022-05-12",
"gcube_release_version": "5.11.0",
"gcube_release_ticket": "https://support.d4science.org/issues/22943",
"version_doi_url": "https://doi.org/10.5072/zenodo.1145785",
"code_location": "https://code-repo.d4science.org/gCubeSystem/{{name}}/releases/tag/v{{version}}"
},
{
"version": "2.3.0",
"date": "2022-07-22",
"gcube_release_version": "5.13.0",
"gcube_release_ticket": "https://support.d4science.org/issues/23374",
"version_doi_url": "https://doi.org/10.5072/zenodo.1145786",
"code_location": "https://code-repo.d4science.org/gCubeSystem/{{name}}/releases/tag/v{{version}}"
},
{
"version": "2.4.0",
"date": "2022-09-16",
"gcube_release_version": "5.13.1",
"gcube_release_ticket": "https://support.d4science.org/issues/23650",
"version_doi_url": "https://doi.org/10.5072/zenodo.1145787",
"code_location": "https://code-repo.d4science.org/gCubeSystem/{{name}}/releases/tag/v{{version}}"
},
{
"version": "2.4.1",
"date": "2022-12-07",
"gcube_release_version": "5.14.0",
"gcube_release_ticket": "https://support.d4science.org/issues/23885",
"version_doi_url": "https://doi.org/10.5072/zenodo.1145788",
"code_location": "https://code-repo.d4science.org/gCubeSystem/{{name}}/releases/tag/v{{version}}"
}
]
}

View File

@ -31,7 +31,6 @@
} }
], ],
"code_location": "https://code-repo.d4science.org/gCubeSystem/{{name}}", "code_location": "https://code-repo.d4science.org/gCubeSystem/{{name}}",
"doi_url": null,
"grants": [ "grants": [
{ {
"id": "004260", "id": "004260",
@ -154,6 +153,7 @@
], ],
"gcube_release_version": null, "gcube_release_version": null,
"gcube_release_ticket": null, "gcube_release_ticket": null,
"concept_doi_url": null,
"version_doi_url": null, "version_doi_url": null,
"code_location": null "code_location": null
}, },
@ -173,6 +173,7 @@
], ],
"gcube_release_version": "4.13.1", "gcube_release_version": "4.13.1",
"gcube_release_ticket": "https://support.d4science.org/issues/12988", "gcube_release_ticket": "https://support.d4science.org/issues/12988",
"concept_doi_url" = "PREVIOUS",
"version_doi_url": null, "version_doi_url": null,
"code_location": null "code_location": null
}, },
@ -188,6 +189,7 @@
], ],
"gcube_release_version": null, "gcube_release_version": null,
"gcube_release_ticket": null, "gcube_release_ticket": null,
"concept_doi_url" = "PREVIOUS",
"version_doi_url": null, "version_doi_url": null,
"code_location": null "code_location": null
}, },
@ -207,6 +209,7 @@
], ],
"gcube_release_version": "4.14.0", "gcube_release_version": "4.14.0",
"gcube_release_ticket": "https://support.d4science.org/issues/16743", "gcube_release_ticket": "https://support.d4science.org/issues/16743",
"concept_doi_url" = "PREVIOUS",
"version_doi_url": null, "version_doi_url": null,
"code_location": null "code_location": null
}, },
@ -216,6 +219,7 @@
"group": "data-publishing", "group": "data-publishing",
"gcube_release_version": "4.15.0", "gcube_release_version": "4.15.0",
"gcube_release_ticket": "https://support.d4science.org/issues/17294", "gcube_release_ticket": "https://support.d4science.org/issues/17294",
"concept_doi_url" = "PREVIOUS",
"version_doi_url": null, "version_doi_url": null,
"code_location": "https://code-repo.d4science.org/gCubeSystem/{{name}}/releases/tag/v{{version}}" "code_location": "https://code-repo.d4science.org/gCubeSystem/{{name}}/releases/tag/v{{version}}"
}, },
@ -225,6 +229,7 @@
"group": "data-publishing", "group": "data-publishing",
"gcube_release_version": "4.18.0", "gcube_release_version": "4.18.0",
"gcube_release_ticket": "https://support.d4science.org/issues/18335", "gcube_release_ticket": "https://support.d4science.org/issues/18335",
"concept_doi_url" = "PREVIOUS",
"version_doi_url": null, "version_doi_url": null,
"code_location": "https://code-repo.d4science.org/gCubeSystem/{{name}}/releases/tag/v{{version}}" "code_location": "https://code-repo.d4science.org/gCubeSystem/{{name}}/releases/tag/v{{version}}"
}, },
@ -234,6 +239,7 @@
"group": "data-publishing", "group": "data-publishing",
"gcube_release_version": "4.20.0", "gcube_release_version": "4.20.0",
"gcube_release_ticket": "https://support.d4science.org/issues/18507", "gcube_release_ticket": "https://support.d4science.org/issues/18507",
"concept_doi_url" = "PREVIOUS",
"version_doi_url": null, "version_doi_url": null,
"code_location": "https://code-repo.d4science.org/gCubeSystem/{{name}}/releases/tag/v{{version}}" "code_location": "https://code-repo.d4science.org/gCubeSystem/{{name}}/releases/tag/v{{version}}"
}, },
@ -243,6 +249,7 @@
"group": "data-publishing", "group": "data-publishing",
"gcube_release_version": "4.23.0", "gcube_release_version": "4.23.0",
"gcube_release_ticket": "https://support.d4science.org/issues/19322", "gcube_release_ticket": "https://support.d4science.org/issues/19322",
"concept_doi_url" = "PREVIOUS",
"version_doi_url": null, "version_doi_url": null,
"code_location": "https://code-repo.d4science.org/gCubeSystem/{{name}}/releases/tag/v{{version}}" "code_location": "https://code-repo.d4science.org/gCubeSystem/{{name}}/releases/tag/v{{version}}"
}, },
@ -252,6 +259,7 @@
"group": "data-publishing", "group": "data-publishing",
"gcube_release_version": "5.0.0", "gcube_release_version": "5.0.0",
"gcube_release_ticket": "https://support.d4science.org/issues/20648", "gcube_release_ticket": "https://support.d4science.org/issues/20648",
"concept_doi_url" = "PREVIOUS",
"version_doi_url": null, "version_doi_url": null,
"code_location": "https://code-repo.d4science.org/gCubeSystem/{{name}}/releases/tag/v{{version}}" "code_location": "https://code-repo.d4science.org/gCubeSystem/{{name}}/releases/tag/v{{version}}"
}, },
@ -261,6 +269,7 @@
"group": "data-publishing", "group": "data-publishing",
"gcube_release_version": "5.1.0", "gcube_release_version": "5.1.0",
"gcube_release_ticket": "https://support.d4science.org/issues/20920", "gcube_release_ticket": "https://support.d4science.org/issues/20920",
"concept_doi_url" = "PREVIOUS",
"version_doi_url": null, "version_doi_url": null,
"code_location": "https://code-repo.d4science.org/gCubeSystem/{{name}}/releases/tag/v{{version}}" "code_location": "https://code-repo.d4science.org/gCubeSystem/{{name}}/releases/tag/v{{version}}"
}, },
@ -268,7 +277,7 @@
"version": "2.0.0", "version": "2.0.0",
"date": "2021-05-04", "date": "2021-05-04",
"gcube_release_version": "5.2.0", "gcube_release_version": "5.2.0",
"doi_url": null, "concept_doi_url": null,
"version_doi_url": null, "version_doi_url": null,
"code_location": "https://code-repo.d4science.org/gCubeSystem/{{name}}/releases/tag/v{{version}}" "code_location": "https://code-repo.d4science.org/gCubeSystem/{{name}}/releases/tag/v{{version}}"
}, },
@ -277,6 +286,7 @@
"date": "2022-01-27", "date": "2022-01-27",
"gcube_release_version": "5.7.0", "gcube_release_version": "5.7.0",
"gcube_release_ticket": "https://support.d4science.org/issues/21685/", "gcube_release_ticket": "https://support.d4science.org/issues/21685/",
"concept_doi_url" = "PREVIOUS",
"version_doi_url": null, "version_doi_url": null,
"code_location": "https://code-repo.d4science.org/gCubeSystem/{{name}}/releases/tag/v{{version}}" "code_location": "https://code-repo.d4science.org/gCubeSystem/{{name}}/releases/tag/v{{version}}"
}, },
@ -293,6 +303,7 @@
"date": "2022-07-22", "date": "2022-07-22",
"gcube_release_version": "5.13.0", "gcube_release_version": "5.13.0",
"gcube_release_ticket": "https://support.d4science.org/issues/23374", "gcube_release_ticket": "https://support.d4science.org/issues/23374",
"concept_doi_url" = "PREVIOUS",
"version_doi_url": null, "version_doi_url": null,
"code_location": "https://code-repo.d4science.org/gCubeSystem/{{name}}/releases/tag/v{{version}}" "code_location": "https://code-repo.d4science.org/gCubeSystem/{{name}}/releases/tag/v{{version}}"
}, },
@ -301,6 +312,7 @@
"date": "2022-09-16", "date": "2022-09-16",
"gcube_release_version": "5.13.1", "gcube_release_version": "5.13.1",
"gcube_release_ticket": "https://support.d4science.org/issues/23650", "gcube_release_ticket": "https://support.d4science.org/issues/23650",
"concept_doi_url" = "PREVIOUS",
"version_doi_url": null, "version_doi_url": null,
"code_location": "https://code-repo.d4science.org/gCubeSystem/{{name}}/releases/tag/v{{version}}" "code_location": "https://code-repo.d4science.org/gCubeSystem/{{name}}/releases/tag/v{{version}}"
}, },
@ -309,6 +321,7 @@
"date": "2022-12-07", "date": "2022-12-07",
"gcube_release_version": "5.14.0", "gcube_release_version": "5.14.0",
"gcube_release_ticket": "https://support.d4science.org/issues/23885", "gcube_release_ticket": "https://support.d4science.org/issues/23885",
"concept_doi_url" = "PREVIOUS",
"version_doi_url": null, "version_doi_url": null,
"code_location": "https://code-repo.d4science.org/gCubeSystem/{{name}}/releases/tag/v{{version}}" "code_location": "https://code-repo.d4science.org/gCubeSystem/{{name}}/releases/tag/v{{version}}"
} }

View File

@ -31,7 +31,7 @@
} }
], ],
"code_location": "https://code-repo.d4science.org/gCubeSystem/{{name}}", "code_location": "https://code-repo.d4science.org/gCubeSystem/{{name}}",
"doi_url": "https://doi.org/10.5072/zenodo.1139068", "concept_doi_url": "https://doi.org/10.5072/zenodo.1139068",
"grants": [ "grants": [
{ {
"id": "004260", "id": "004260",
@ -154,7 +154,7 @@
], ],
"gcube_release_version": null, "gcube_release_version": null,
"gcube_release_ticket": null, "gcube_release_ticket": null,
"doi_url": "https://doi.org/10.5072/zenodo.1139445", "concept_doi_url": "https://doi.org/10.5072/zenodo.1139445",
"version_doi_url": "https://doi.org/10.5072/zenodo.1139446", "version_doi_url": "https://doi.org/10.5072/zenodo.1139446",
"code_location": null "code_location": null
}, },
@ -174,7 +174,7 @@
], ],
"gcube_release_version": "4.13.1", "gcube_release_version": "4.13.1",
"gcube_release_ticket": "https://support.d4science.org/issues/12988", "gcube_release_ticket": "https://support.d4science.org/issues/12988",
"doi_url": "https://doi.org/10.5072/zenodo.1139445", "concept_doi_url": "https://doi.org/10.5072/zenodo.1139445",
"version_doi_url": "https://doi.org/10.5072/zenodo.1140461", "version_doi_url": "https://doi.org/10.5072/zenodo.1140461",
"code_location": null "code_location": null
}, },
@ -190,7 +190,7 @@
], ],
"gcube_release_version": null, "gcube_release_version": null,
"gcube_release_ticket": null, "gcube_release_ticket": null,
"doi_url": "https://doi.org/10.5072/zenodo.1139445", "concept_doi_url": "https://doi.org/10.5072/zenodo.1139445",
"version_doi_url": "https://doi.org/10.5072/zenodo.1140750", "version_doi_url": "https://doi.org/10.5072/zenodo.1140750",
"code_location": null "code_location": null
}, },
@ -210,7 +210,7 @@
], ],
"gcube_release_version": "4.14.0", "gcube_release_version": "4.14.0",
"gcube_release_ticket": "https://support.d4science.org/issues/16743", "gcube_release_ticket": "https://support.d4science.org/issues/16743",
"doi_url": "https://doi.org/10.5072/zenodo.1139445", "concept_doi_url": "https://doi.org/10.5072/zenodo.1139445",
"version_doi_url": "https://doi.org/10.5072/zenodo.1143572", "version_doi_url": "https://doi.org/10.5072/zenodo.1143572",
"code_location": null "code_location": null
}, },
@ -220,7 +220,7 @@
"group": "data-publishing", "group": "data-publishing",
"gcube_release_version": "4.15.0", "gcube_release_version": "4.15.0",
"gcube_release_ticket": "https://support.d4science.org/issues/17294", "gcube_release_ticket": "https://support.d4science.org/issues/17294",
"doi_url": "https://doi.org/10.5072/zenodo.1139445", "concept_doi_url": "https://doi.org/10.5072/zenodo.1139445",
"version_doi_url": "https://doi.org/10.5072/zenodo.1143583", "version_doi_url": "https://doi.org/10.5072/zenodo.1143583",
"code_location": "https://code-repo.d4science.org/gCubeSystem/{{name}}/releases/tag/v{{version}}" "code_location": "https://code-repo.d4science.org/gCubeSystem/{{name}}/releases/tag/v{{version}}"
}, },
@ -230,7 +230,7 @@
"group": "data-publishing", "group": "data-publishing",
"gcube_release_version": "4.18.0", "gcube_release_version": "4.18.0",
"gcube_release_ticket": "https://support.d4science.org/issues/18335", "gcube_release_ticket": "https://support.d4science.org/issues/18335",
"doi_url": "https://doi.org/10.5072/zenodo.1139445", "concept_doi_url": "https://doi.org/10.5072/zenodo.1139445",
"version_doi_url": "https://doi.org/10.5072/zenodo.1143585", "version_doi_url": "https://doi.org/10.5072/zenodo.1143585",
"code_location": "https://code-repo.d4science.org/gCubeSystem/{{name}}/releases/tag/v{{version}}" "code_location": "https://code-repo.d4science.org/gCubeSystem/{{name}}/releases/tag/v{{version}}"
}, },
@ -240,7 +240,7 @@
"group": "data-publishing", "group": "data-publishing",
"gcube_release_version": "4.20.0", "gcube_release_version": "4.20.0",
"gcube_release_ticket": "https://support.d4science.org/issues/18507", "gcube_release_ticket": "https://support.d4science.org/issues/18507",
"doi_url": "https://doi.org/10.5072/zenodo.1139445", "concept_doi_url": "https://doi.org/10.5072/zenodo.1139445",
"version_doi_url": "https://doi.org/10.5072/zenodo.1143586", "version_doi_url": "https://doi.org/10.5072/zenodo.1143586",
"code_location": "https://code-repo.d4science.org/gCubeSystem/{{name}}/releases/tag/v{{version}}" "code_location": "https://code-repo.d4science.org/gCubeSystem/{{name}}/releases/tag/v{{version}}"
}, },
@ -250,7 +250,7 @@
"group": "data-publishing", "group": "data-publishing",
"gcube_release_version": "4.23.0", "gcube_release_version": "4.23.0",
"gcube_release_ticket": "https://support.d4science.org/issues/19322", "gcube_release_ticket": "https://support.d4science.org/issues/19322",
"doi_url": "https://doi.org/10.5072/zenodo.1139445", "concept_doi_url": "https://doi.org/10.5072/zenodo.1139445",
"version_doi_url": "https://doi.org/10.5072/zenodo.1143587", "version_doi_url": "https://doi.org/10.5072/zenodo.1143587",
"code_location": "https://code-repo.d4science.org/gCubeSystem/{{name}}/releases/tag/v{{version}}" "code_location": "https://code-repo.d4science.org/gCubeSystem/{{name}}/releases/tag/v{{version}}"
}, },
@ -260,7 +260,7 @@
"group": "data-publishing", "group": "data-publishing",
"gcube_release_version": "5.0.0", "gcube_release_version": "5.0.0",
"gcube_release_ticket": "https://support.d4science.org/issues/20648", "gcube_release_ticket": "https://support.d4science.org/issues/20648",
"doi_url": "https://doi.org/10.5072/zenodo.1139445", "concept_doi_url": "https://doi.org/10.5072/zenodo.1139445",
"version_doi_url": "https://doi.org/10.5072/zenodo.1143589", "version_doi_url": "https://doi.org/10.5072/zenodo.1143589",
"code_location": "https://code-repo.d4science.org/gCubeSystem/{{name}}/releases/tag/v{{version}}" "code_location": "https://code-repo.d4science.org/gCubeSystem/{{name}}/releases/tag/v{{version}}"
}, },
@ -270,7 +270,7 @@
"group": "data-publishing", "group": "data-publishing",
"gcube_release_version": "5.1.0", "gcube_release_version": "5.1.0",
"gcube_release_ticket": "https://support.d4science.org/issues/20920", "gcube_release_ticket": "https://support.d4science.org/issues/20920",
"doi_url": "https://doi.org/10.5072/zenodo.1139445", "concept_doi_url": "https://doi.org/10.5072/zenodo.1139445",
"version_doi_url": "https://doi.org/10.5072/zenodo.1143590", "version_doi_url": "https://doi.org/10.5072/zenodo.1143590",
"code_location": "https://code-repo.d4science.org/gCubeSystem/{{name}}/releases/tag/v{{version}}" "code_location": "https://code-repo.d4science.org/gCubeSystem/{{name}}/releases/tag/v{{version}}"
}, },