Class ZenodoSoftwareVersionExporter
- java.lang.Object
-
- org.gcube.common.software.export.SoftwareVersionExporter
-
- org.gcube.common.software.export.zenodo.ZenodoSoftwareVersionExporter
-
public class ZenodoSoftwareVersionExporter extends SoftwareVersionExporter
- Author:
- Luca Frosini (ISTI - CNR)
-
-
Field Summary
Fields Modifier and Type Field Description protected StringaccessTokenstatic StringADDITIONAL_HTML_DESCRIPTION_CONFIG_FIELD_NAMEstatic StringCOMMUNITIES_FIELD_NAMEstatic StringDEPOSITION_PATHstatic StringDEPOSITIONS_COLLECTION_PATHstatic StringDEPOSTION_EDIT_PATHstatic StringDEPOSTION_FILES_PATHstatic StringDEPOSTION_NEW_VERSION_PATHstatic StringDEPOSTION_PUBLISH_PATHprotected StringdoiBaseURLstatic StringEXPORT_FILENAME_EXTENSIONstatic StringGUCBE_ZENODO_SOFTWARE_DEPOSITstatic StringHTML_DESCRIPTION_CONFIG_FIELD_NAMEstatic StringMETADATA_FIELD_NAMEstatic StringRECORD_PATHprotected org.gcube.com.fasterxml.jackson.databind.JsonNoderesponsestatic StringSKIP_GRANTS_CONFIG_FIELD_NAMEprotected URLzenodoBaseURLprotected StringzenodoID-
Fields inherited from class org.gcube.common.software.export.SoftwareVersionExporter
availableExporters, exporterConfig, exportFileNameExtension, first, globalConfig, last, outputDirectory, softwareVersionConfig
-
-
Constructor Summary
Constructors Constructor Description ZenodoSoftwareVersionExporter()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected voidaddFilesToDeposition(List<File> files)voidcreate()protected StringcreateZenodoDOIURLFromID(String id)protected voiddeletePreviousFiles()Remove previous depositionFilesvoidexport()protected voidfinalize()protected Map<String,String>getAccessTokenQueryParamters()protected StringgetConfig(String propertyName)protected org.gcube.com.fasterxml.jackson.databind.node.ObjectNodegetObjectNode()FilegetOutputFile()org.gcube.com.fasterxml.jackson.databind.JsonNodegetResponse(HttpURLConnection connection)protected StringBuildergetStringBuilder(InputStream inputStream)protected voidgetZenodoConnectionConfig()protected StringgetZenodoIDFromDOIURL(String doiURL)protected StringgetZenodoIDFromDOIURL(URL doiURL)voidnewVersion()protected voidpublishToZenodo()voidupdate()protected voidupdateMetadata()protected voidwriteObjectNodeToFile(org.gcube.com.fasterxml.jackson.databind.node.ObjectNode toBeExported, File file)-
Methods inherited from class org.gcube.common.software.export.SoftwareVersionExporter
getAvailableExporters, getExporterConfig, getGlobalConfig, getSoftwareVersionConfig, setExporterConfig, setFirst, setGlobalConfig, setLast, setOutputDirectory, setSoftwareVersionConfig
-
-
-
-
Field Detail
-
EXPORT_FILENAME_EXTENSION
public static final String EXPORT_FILENAME_EXTENSION
- See Also:
- Constant Field Values
-
GUCBE_ZENODO_SOFTWARE_DEPOSIT
public static final String GUCBE_ZENODO_SOFTWARE_DEPOSIT
- See Also:
- Constant Field Values
-
HTML_DESCRIPTION_CONFIG_FIELD_NAME
public static final String HTML_DESCRIPTION_CONFIG_FIELD_NAME
- See Also:
- Constant Field Values
-
ADDITIONAL_HTML_DESCRIPTION_CONFIG_FIELD_NAME
public static final String ADDITIONAL_HTML_DESCRIPTION_CONFIG_FIELD_NAME
- See Also:
- Constant Field Values
-
SKIP_GRANTS_CONFIG_FIELD_NAME
public static final String SKIP_GRANTS_CONFIG_FIELD_NAME
- See Also:
- Constant Field Values
-
METADATA_FIELD_NAME
public static final String METADATA_FIELD_NAME
- See Also:
- Constant Field Values
-
COMMUNITIES_FIELD_NAME
public static final String COMMUNITIES_FIELD_NAME
- See Also:
- Constant Field Values
-
DEPOSITIONS_COLLECTION_PATH
public static final String DEPOSITIONS_COLLECTION_PATH
- See Also:
- Constant Field Values
-
DEPOSITION_PATH
public static final String DEPOSITION_PATH
- See Also:
- Constant Field Values
-
RECORD_PATH
public static final String RECORD_PATH
- See Also:
- Constant Field Values
-
DEPOSTION_FILES_PATH
public static final String DEPOSTION_FILES_PATH
- See Also:
- Constant Field Values
-
DEPOSTION_NEW_VERSION_PATH
public static final String DEPOSTION_NEW_VERSION_PATH
- See Also:
- Constant Field Values
-
DEPOSTION_EDIT_PATH
public static final String DEPOSTION_EDIT_PATH
- See Also:
- Constant Field Values
-
DEPOSTION_PUBLISH_PATH
public static final String DEPOSTION_PUBLISH_PATH
- See Also:
- Constant Field Values
-
zenodoBaseURL
protected URL zenodoBaseURL
-
accessToken
protected String accessToken
-
zenodoID
protected String zenodoID
-
response
protected org.gcube.com.fasterxml.jackson.databind.JsonNode response
-
doiBaseURL
protected String doiBaseURL
-
-
Method Detail
-
addFilesToDeposition
protected void addFilesToDeposition(List<File> files) throws Exception
- Throws:
Exception
-
finalize
protected void finalize() throws Exception
-
getStringBuilder
protected StringBuilder getStringBuilder(InputStream inputStream) throws IOException
- Throws:
IOException
-
getResponse
public org.gcube.com.fasterxml.jackson.databind.JsonNode getResponse(HttpURLConnection connection) throws Exception
- Throws:
Exception
-
createZenodoDOIURLFromID
protected String createZenodoDOIURLFromID(String id) throws MalformedURLException
- Throws:
MalformedURLException
-
deletePreviousFiles
protected void deletePreviousFiles() throws ExceptionRemove previous depositionFiles- Throws:
Exception
-
getZenodoConnectionConfig
protected void getZenodoConnectionConfig() throws Exception- Throws:
Exception
-
export
public void export() throws Exception- Specified by:
exportin classSoftwareVersionExporter- Throws:
Exception
-
getObjectNode
protected org.gcube.com.fasterxml.jackson.databind.node.ObjectNode getObjectNode() throws Exception- Throws:
Exception
-
writeObjectNodeToFile
protected void writeObjectNodeToFile(org.gcube.com.fasterxml.jackson.databind.node.ObjectNode toBeExported, File file) throws Exception- Throws:
Exception
-
getOutputFile
public File getOutputFile() throws Exception
- Overrides:
getOutputFilein classSoftwareVersionExporter- Throws:
Exception
-
-