ckan2zenodo-library/src/main/java/org/gcube/data/publishing/ckan2zenodo/model/zenodo/ZenodoDeposition.java

43 lines
1.0 KiB
Java
Raw Normal View History

2019-11-22 16:31:50 +01:00
package org.gcube.data.publishing.ckan2zenodo.model.zenodo;
2020-01-23 18:03:28 +01:00
import java.net.MalformedURLException;
2019-11-22 16:31:50 +01:00
import java.net.URL;
import java.util.ArrayList;
import java.util.Date;
2019-11-27 18:21:01 +01:00
import com.fasterxml.jackson.annotation.JsonFormat;
2019-11-22 16:31:50 +01:00
2019-11-27 18:21:01 +01:00
import lombok.Data;
2020-01-31 14:56:51 +01:00
import lombok.extern.slf4j.Slf4j;
2019-11-27 18:21:01 +01:00
@Data
2020-01-31 14:56:51 +01:00
@Slf4j
2019-11-22 16:31:50 +01:00
public class ZenodoDeposition {
@JsonFormat(pattern = Commons.ISO_DATE_PATTERN)
2019-11-22 16:31:50 +01:00
private Date created;
private String doi;
2020-02-03 18:14:26 +01:00
private String doi_url;
2020-01-23 18:03:28 +01:00
private DepositionLinks links;
2019-11-22 16:31:50 +01:00
private ArrayList<FileDeposition> files;
private Integer id;
private DepositionMetadata metadata;
@JsonFormat(pattern = Commons.ISO_DATE_PATTERN)
2019-11-22 16:31:50 +01:00
private Date modified;
private Integer owner;
private Integer record_id;
private URL record_url;
private String state;
private Boolean submitted;
private String title;
2020-01-23 18:03:28 +01:00
public URL getDOIUrl() throws MalformedURLException {
2020-01-31 14:56:51 +01:00
try {
2020-02-03 18:14:26 +01:00
return new URL(doi_url);
2020-01-23 18:03:28 +01:00
}catch(Throwable t) {
2020-01-31 14:56:51 +01:00
log.warn("Returned concept link is broken, forming it from doi..");
2020-01-23 18:03:28 +01:00
return new URL("https://doi.org/"+doi);
}
}
2019-11-22 16:31:50 +01:00
}