Fixing `publication_date` issue [#26166]
This commit is contained in:
parent
6dbc1d8e4c
commit
4eb65dc4ed
|
@ -4,6 +4,10 @@
|
||||||
All notable changes to this project will be documented in this file.
|
All notable changes to this project will be documented in this file.
|
||||||
This project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
This project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
||||||
|
|
||||||
|
## [v1.1.4-SNAPSHOT] - 2023-12-05
|
||||||
|
|
||||||
|
- Fixing `publication_date` issue [#26166]
|
||||||
|
|
||||||
## [v1.1.3] - 2023-07-25
|
## [v1.1.3] - 2023-07-25
|
||||||
|
|
||||||
- Fixing `null` issue, recompiling this component [#25275]
|
- Fixing `null` issue, recompiling this component [#25275]
|
||||||
|
|
2
pom.xml
2
pom.xml
|
@ -14,7 +14,7 @@
|
||||||
<groupId>org.gcube.portlets.widgets</groupId>
|
<groupId>org.gcube.portlets.widgets</groupId>
|
||||||
<artifactId>ckan2zenodo-publisher-widget</artifactId>
|
<artifactId>ckan2zenodo-publisher-widget</artifactId>
|
||||||
<packaging>jar</packaging>
|
<packaging>jar</packaging>
|
||||||
<version>1.1.3</version>
|
<version>1.1.4-SNAPSHOT</version>
|
||||||
|
|
||||||
<description>
|
<description>
|
||||||
gCube Ckan2Zenodo Publisher widget allows to publish D4Science catalogue's items on Zenodo
|
gCube Ckan2Zenodo Publisher widget allows to publish D4Science catalogue's items on Zenodo
|
||||||
|
|
|
@ -35,18 +35,17 @@ import org.gcube.portlets.widgets.ckan2zenodopublisher.shared.wrapped.ZenodoSubj
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The Class ItemToZenodoConverter.
|
* The Class ItemToZenodoConverter.
|
||||||
*
|
*
|
||||||
* @author Francesco Mangiacrapa at ISTI-CNR (francesco.mangiacrapa@isti.cnr.it)
|
* @author Francesco Mangiacrapa at ISTI-CNR (francesco.mangiacrapa@isti.cnr.it)
|
||||||
*
|
*
|
||||||
* Dec 10, 2019
|
* Dec 10, 2019
|
||||||
*/
|
*/
|
||||||
public class ItemToZenodoConverter {
|
public class ItemToZenodoConverter {
|
||||||
|
|
||||||
private static Logger LOG = LoggerFactory.getLogger(ItemToZenodoConverter.class);
|
private static Logger LOG = LoggerFactory.getLogger(ItemToZenodoConverter.class);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* **
|
* **
|
||||||
*
|
*
|
||||||
|
@ -57,7 +56,6 @@ public class ItemToZenodoConverter {
|
||||||
* @return the zenodo item
|
* @return the zenodo item
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* To zenodo item.
|
* To zenodo item.
|
||||||
*
|
*
|
||||||
|
@ -66,46 +64,45 @@ public class ItemToZenodoConverter {
|
||||||
*/
|
*/
|
||||||
public static ZenodoItem toZenodoItem(ZenodoDeposition zenodoDeposition) {
|
public static ZenodoItem toZenodoItem(ZenodoDeposition zenodoDeposition) {
|
||||||
|
|
||||||
if(zenodoDeposition==null)
|
if (zenodoDeposition == null)
|
||||||
return null;
|
return null;
|
||||||
|
|
||||||
LOG.debug("Converting item: "+zenodoDeposition);
|
LOG.debug("Converting item: " + zenodoDeposition);
|
||||||
|
|
||||||
ZenodoItem zi = new ZenodoItem();
|
ZenodoItem zi = new ZenodoItem();
|
||||||
zi.setId(zenodoDeposition.getId());
|
zi.setId(zenodoDeposition.getId());
|
||||||
zi.setDoi(zenodoDeposition.getDoi());
|
zi.setDoi(zenodoDeposition.getDoi());
|
||||||
zi.setCreated(zenodoDeposition.getCreated());
|
zi.setCreated(zenodoDeposition.getCreated());
|
||||||
|
|
||||||
//Add files already published in the deposition
|
// Add files already published in the deposition
|
||||||
List<ZenodoFile> files = toZenodoFiles(zenodoDeposition.getFiles(),true);
|
List<ZenodoFile> files = toZenodoFiles(zenodoDeposition.getFiles(), true);
|
||||||
zi.addFiles(files);
|
zi.addFiles(files);
|
||||||
|
|
||||||
zi.setModified(zenodoDeposition.getModified());
|
zi.setModified(zenodoDeposition.getModified());
|
||||||
zi.setOwner(zenodoDeposition.getOwner());
|
zi.setOwner(zenodoDeposition.getOwner());
|
||||||
zi.setRecord_id(zenodoDeposition.getRecord_id());
|
zi.setRecord_id(zenodoDeposition.getRecord_id());
|
||||||
zi.setRecord_url(zenodoDeposition.getRecord_url()!=null?zenodoDeposition.getRecord_url().toString():null);
|
zi.setRecord_url(zenodoDeposition.getRecord_url() != null ? zenodoDeposition.getRecord_url().toString() : null);
|
||||||
zi.setState(zenodoDeposition.getState());
|
zi.setState(zenodoDeposition.getState());
|
||||||
zi.setSubmitted(zenodoDeposition.getSubmitted());
|
zi.setSubmitted(zenodoDeposition.getSubmitted());
|
||||||
zi.setTitle(zenodoDeposition.getTitle());
|
zi.setTitle(zenodoDeposition.getTitle());
|
||||||
|
|
||||||
zi.setMetadata(toZenodoMetadata(zenodoDeposition.getMetadata()));
|
zi.setMetadata(toZenodoMetadata(zenodoDeposition.getMetadata()));
|
||||||
|
|
||||||
LOG.debug("Converted item: "+zi);
|
LOG.debug("Converted item: " + zi);
|
||||||
|
|
||||||
return zi;
|
return zi;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Adds the files.
|
* Adds the files.
|
||||||
*
|
*
|
||||||
* @param files the files
|
* @param files the files
|
||||||
* @param filesAlreadyPublished the files already published
|
* @param filesAlreadyPublished the files already published
|
||||||
* @return the list
|
* @return the list
|
||||||
*/
|
*/
|
||||||
private static List<ZenodoFile> toZenodoFiles(ArrayList<FileDeposition> files, boolean filesAlreadyPublished) {
|
private static List<ZenodoFile> toZenodoFiles(ArrayList<FileDeposition> files, boolean filesAlreadyPublished) {
|
||||||
|
|
||||||
if(files==null)
|
if (files == null)
|
||||||
return null;
|
return null;
|
||||||
|
|
||||||
List<ZenodoFile> listOfFiles = new ArrayList<ZenodoFile>(files.size());
|
List<ZenodoFile> listOfFiles = new ArrayList<ZenodoFile>(files.size());
|
||||||
|
@ -119,56 +116,53 @@ public class ItemToZenodoConverter {
|
||||||
/**
|
/**
|
||||||
* To zenodo files.
|
* To zenodo files.
|
||||||
*
|
*
|
||||||
* @param filteredResources the filtered resources
|
* @param filteredResources the filtered resources
|
||||||
* @param filesAlreadyPublished the files already published
|
* @param filesAlreadyPublished the files already published
|
||||||
* @return the list
|
* @return the list
|
||||||
*/
|
*/
|
||||||
public static List<ZenodoFile> toZenodoFiles(List<CkanResource> filteredResources, boolean filesAlreadyPublished) {
|
public static List<ZenodoFile> toZenodoFiles(List<CkanResource> filteredResources, boolean filesAlreadyPublished) {
|
||||||
if(filteredResources==null)
|
if (filteredResources == null)
|
||||||
return null;
|
return null;
|
||||||
|
|
||||||
List<ZenodoFile> listOfFiles = new ArrayList<ZenodoFile>(filteredResources.size());
|
List<ZenodoFile> listOfFiles = new ArrayList<ZenodoFile>(filteredResources.size());
|
||||||
for (CkanResource ckanResource : filteredResources) {
|
for (CkanResource ckanResource : filteredResources) {
|
||||||
listOfFiles.add(toZenodoFile(ckanResource,filesAlreadyPublished));
|
listOfFiles.add(toZenodoFile(ckanResource, filesAlreadyPublished));
|
||||||
}
|
}
|
||||||
|
|
||||||
return listOfFiles;
|
return listOfFiles;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* To zenodo file.
|
* To zenodo file.
|
||||||
*
|
*
|
||||||
* @param fileDeposition the file deposition
|
* @param fileDeposition the file deposition
|
||||||
* @param fileAlreadyPublished the file already published
|
* @param fileAlreadyPublished the file already published
|
||||||
* @return the zenodo file
|
* @return the zenodo file
|
||||||
*/
|
*/
|
||||||
public static ZenodoFile toZenodoFile(FileDeposition fileDeposition, boolean fileAlreadyPublished) {
|
public static ZenodoFile toZenodoFile(FileDeposition fileDeposition, boolean fileAlreadyPublished) {
|
||||||
|
|
||||||
if(fileDeposition==null)
|
if (fileDeposition == null)
|
||||||
return null;
|
return null;
|
||||||
|
|
||||||
ZenodoFile zf = new ZenodoFile();
|
ZenodoFile zf = new ZenodoFile();
|
||||||
zf.setId(fileDeposition.getId());
|
zf.setId(fileDeposition.getId());
|
||||||
zf.setFilename(fileDeposition.getFilename());
|
zf.setFilename(fileDeposition.getFilename());
|
||||||
zf.setFilesize(fileDeposition.getFilesize()+"");
|
zf.setFilesize(fileDeposition.getFilesize() + "");
|
||||||
zf.setChecksum(fileDeposition.getChecksum());
|
zf.setChecksum(fileDeposition.getChecksum());
|
||||||
zf.setIsAlreadyPublished(fileAlreadyPublished);
|
zf.setIsAlreadyPublished(fileAlreadyPublished);
|
||||||
return zf;
|
return zf;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* To zenodo file.
|
* To zenodo file.
|
||||||
*
|
*
|
||||||
* @param ckanResource the ckan resource
|
* @param ckanResource the ckan resource
|
||||||
* @param fileAlreadyPublished the file already published
|
* @param fileAlreadyPublished the file already published
|
||||||
* @return the zenodo file
|
* @return the zenodo file
|
||||||
*/
|
*/
|
||||||
public static ZenodoFile toZenodoFile(CkanResource ckanResource, boolean fileAlreadyPublished) {
|
public static ZenodoFile toZenodoFile(CkanResource ckanResource, boolean fileAlreadyPublished) {
|
||||||
|
|
||||||
if(ckanResource==null)
|
if (ckanResource == null)
|
||||||
return null;
|
return null;
|
||||||
|
|
||||||
ZenodoFile zf = new ZenodoFile();
|
ZenodoFile zf = new ZenodoFile();
|
||||||
|
@ -183,66 +177,68 @@ public class ItemToZenodoConverter {
|
||||||
return zf;
|
return zf;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* To zenodo metadata.
|
* To zenodo metadata.
|
||||||
*
|
*
|
||||||
* @param depositionMetadata the deposition metadata
|
* @param depositionMetadata the deposition metadata
|
||||||
* @return the zenodo metadata
|
* @return the zenodo metadata
|
||||||
*/
|
*/
|
||||||
public static ZenodoMetadata toZenodoMetadata(DepositionMetadata depositionMetadata){
|
public static ZenodoMetadata toZenodoMetadata(DepositionMetadata depositionMetadata) {
|
||||||
|
|
||||||
if(depositionMetadata==null)
|
if (depositionMetadata == null)
|
||||||
return null;
|
return null;
|
||||||
|
|
||||||
ZenodoMetadata zm = new ZenodoMetadata();
|
ZenodoMetadata zm = new ZenodoMetadata();
|
||||||
zm.setAccess_conditions(depositionMetadata.getAccess_conditions());
|
zm.setAccess_conditions(depositionMetadata.getAccess_conditions());
|
||||||
zm.setDescription(depositionMetadata.getDescription());
|
zm.setDescription(depositionMetadata.getDescription());
|
||||||
|
|
||||||
//Access Type
|
// fixing bug #26165 on publication_date = null
|
||||||
|
zm.setPublication_date(depositionMetadata.getPublication_date());
|
||||||
|
|
||||||
|
// Access Type
|
||||||
AccessRights[] accessRight = null;
|
AccessRights[] accessRight = null;
|
||||||
if(depositionMetadata.getAccess_right()!=null) {
|
if (depositionMetadata.getAccess_right() != null) {
|
||||||
AccessRights[] theAccessRight = { depositionMetadata.getAccess_right() };
|
AccessRights[] theAccessRight = { depositionMetadata.getAccess_right() };
|
||||||
accessRight = theAccessRight;
|
accessRight = theAccessRight;
|
||||||
}
|
}
|
||||||
zm.setAccess_right(CkanToZenodoUtil.toSerializableEnum(accessRight, AccessRights.values()));
|
zm.setAccess_right(CkanToZenodoUtil.toSerializableEnum(accessRight, AccessRights.values()));
|
||||||
|
|
||||||
//Upload Type
|
// Upload Type
|
||||||
UploadType[] uploadType = null;
|
UploadType[] uploadType = null;
|
||||||
if(depositionMetadata.getUpload_type()!=null) {
|
if (depositionMetadata.getUpload_type() != null) {
|
||||||
UploadType[] theUploadType = { depositionMetadata.getUpload_type() };
|
UploadType[] theUploadType = { depositionMetadata.getUpload_type() };
|
||||||
uploadType = theUploadType;
|
uploadType = theUploadType;
|
||||||
|
|
||||||
}
|
}
|
||||||
zm.setUpload_type(CkanToZenodoUtil.toSerializableEnum(uploadType, UploadType.values()));
|
zm.setUpload_type(CkanToZenodoUtil.toSerializableEnum(uploadType, UploadType.values()));
|
||||||
|
|
||||||
//Publication Type
|
// Publication Type
|
||||||
PublicationType[] publicationType = null;
|
PublicationType[] publicationType = null;
|
||||||
if(depositionMetadata.getPublication_type()!=null) {
|
if (depositionMetadata.getPublication_type() != null) {
|
||||||
PublicationType[] thepublicationType = { depositionMetadata.getPublication_type() };
|
PublicationType[] thepublicationType = { depositionMetadata.getPublication_type() };
|
||||||
publicationType = thepublicationType;
|
publicationType = thepublicationType;
|
||||||
}
|
}
|
||||||
zm.setPublication_type(CkanToZenodoUtil.toSerializableEnum(publicationType, PublicationType.values()));
|
zm.setPublication_type(CkanToZenodoUtil.toSerializableEnum(publicationType, PublicationType.values()));
|
||||||
|
|
||||||
//Image Type
|
// Image Type
|
||||||
ImageType[] imageType = null;
|
ImageType[] imageType = null;
|
||||||
if(depositionMetadata.getImage_type()!=null) {
|
if (depositionMetadata.getImage_type() != null) {
|
||||||
ImageType[] theImageType = { depositionMetadata.getImage_type() };
|
ImageType[] theImageType = { depositionMetadata.getImage_type() };
|
||||||
imageType = theImageType;
|
imageType = theImageType;
|
||||||
}
|
}
|
||||||
zm.setImage_type(CkanToZenodoUtil.toSerializableEnum(imageType, ImageType.values()));
|
zm.setImage_type(CkanToZenodoUtil.toSerializableEnum(imageType, ImageType.values()));
|
||||||
|
|
||||||
//Licenses
|
// Licenses
|
||||||
List<String> selectedLicenses = null;
|
List<String> selectedLicenses = null;
|
||||||
if(depositionMetadata.getLicense()!=null) {
|
if (depositionMetadata.getLicense() != null) {
|
||||||
selectedLicenses = new ArrayList<String>();
|
selectedLicenses = new ArrayList<String>();
|
||||||
selectedLicenses.add(depositionMetadata.getLicense()); //NEED TO ADD ALL LICENSES
|
selectedLicenses.add(depositionMetadata.getLicense()); // NEED TO ADD ALL LICENSES
|
||||||
}
|
}
|
||||||
if(selectedLicenses!=null) {
|
if (selectedLicenses != null) {
|
||||||
zm.setLicenseIDs(selectedLicenses);
|
zm.setLicenseIDs(selectedLicenses);
|
||||||
}
|
}
|
||||||
|
|
||||||
if(depositionMetadata.getEmbargo_date()!=null) {
|
if (depositionMetadata.getEmbargo_date() != null) {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -258,7 +254,7 @@ public class ItemToZenodoConverter {
|
||||||
|
|
||||||
zm.setContributors(toZenodoContributors(depositionMetadata.getContributors()));
|
zm.setContributors(toZenodoContributors(depositionMetadata.getContributors()));
|
||||||
|
|
||||||
//to manage empty or null contributors from mapping
|
// to manage empty or null contributors from mapping
|
||||||
zm.setContributorsTypes(CkanToZenodoUtil.toSerializableEnum(null, Contributor.Type.values()));
|
zm.setContributorsTypes(CkanToZenodoUtil.toSerializableEnum(null, Contributor.Type.values()));
|
||||||
|
|
||||||
zm.setCreators(toZenodoCreators(depositionMetadata.getCreators()));
|
zm.setCreators(toZenodoCreators(depositionMetadata.getCreators()));
|
||||||
|
@ -275,7 +271,6 @@ public class ItemToZenodoConverter {
|
||||||
return zm;
|
return zm;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* To zenodo subjects.
|
* To zenodo subjects.
|
||||||
*
|
*
|
||||||
|
@ -283,7 +278,7 @@ public class ItemToZenodoConverter {
|
||||||
* @return the list
|
* @return the list
|
||||||
*/
|
*/
|
||||||
private static List<ZenodoSubject> toZenodoSubjects(List<Subject> subjects) {
|
private static List<ZenodoSubject> toZenodoSubjects(List<Subject> subjects) {
|
||||||
if(subjects==null)
|
if (subjects == null)
|
||||||
return null;
|
return null;
|
||||||
|
|
||||||
List<ZenodoSubject> list = new ArrayList<ZenodoSubject>(subjects.size());
|
List<ZenodoSubject> list = new ArrayList<ZenodoSubject>(subjects.size());
|
||||||
|
@ -303,13 +298,13 @@ public class ItemToZenodoConverter {
|
||||||
*/
|
*/
|
||||||
private static List<ZenodoRelatedIdentifier> toRelatedIdentifiers(List<RelatedIdentifier> related_identifiers) {
|
private static List<ZenodoRelatedIdentifier> toRelatedIdentifiers(List<RelatedIdentifier> related_identifiers) {
|
||||||
|
|
||||||
if(related_identifiers==null)
|
if (related_identifiers == null)
|
||||||
return null;
|
return null;
|
||||||
|
|
||||||
List<ZenodoRelatedIdentifier> list = new ArrayList<ZenodoRelatedIdentifier>(related_identifiers.size());
|
List<ZenodoRelatedIdentifier> list = new ArrayList<ZenodoRelatedIdentifier>(related_identifiers.size());
|
||||||
for (RelatedIdentifier relatedIdentifier : related_identifiers) {
|
for (RelatedIdentifier relatedIdentifier : related_identifiers) {
|
||||||
Relation[] rel = { relatedIdentifier.getRelation() };
|
Relation[] rel = { relatedIdentifier.getRelation() };
|
||||||
SerializableEnum<String> sEnum = CkanToZenodoUtil.toSerializableEnum(rel, Relation.values());
|
SerializableEnum<String> sEnum = CkanToZenodoUtil.toSerializableEnum(rel, Relation.values());
|
||||||
ZenodoRelatedIdentifier zdi = new ZenodoRelatedIdentifier(relatedIdentifier.getIdentifier(), sEnum);
|
ZenodoRelatedIdentifier zdi = new ZenodoRelatedIdentifier(relatedIdentifier.getIdentifier(), sEnum);
|
||||||
list.add(zdi);
|
list.add(zdi);
|
||||||
}
|
}
|
||||||
|
@ -317,7 +312,6 @@ public class ItemToZenodoConverter {
|
||||||
return list;
|
return list;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* To zenodo date intervals.
|
* To zenodo date intervals.
|
||||||
*
|
*
|
||||||
|
@ -326,18 +320,19 @@ public class ItemToZenodoConverter {
|
||||||
*/
|
*/
|
||||||
private static List<ZenodoDateInterval> toZenodoDateIntervals(List<DateInterval> dateIntervals) {
|
private static List<ZenodoDateInterval> toZenodoDateIntervals(List<DateInterval> dateIntervals) {
|
||||||
|
|
||||||
if(dateIntervals==null)
|
if (dateIntervals == null)
|
||||||
return null;
|
return null;
|
||||||
|
|
||||||
List<ZenodoDateInterval> list = new ArrayList<ZenodoDateInterval>(dateIntervals.size());
|
List<ZenodoDateInterval> list = new ArrayList<ZenodoDateInterval>(dateIntervals.size());
|
||||||
for (DateInterval dateInterval : dateIntervals) {
|
for (DateInterval dateInterval : dateIntervals) {
|
||||||
SerializableEnum<String> types = null;
|
SerializableEnum<String> types = null;
|
||||||
if(dateInterval.getType()!=null) {
|
if (dateInterval.getType() != null) {
|
||||||
DateInterval.Type[] rel = { dateInterval.getType() };
|
DateInterval.Type[] rel = { dateInterval.getType() };
|
||||||
types = CkanToZenodoUtil.toSerializableEnum(rel, DateInterval.Type.values());
|
types = CkanToZenodoUtil.toSerializableEnum(rel, DateInterval.Type.values());
|
||||||
}
|
}
|
||||||
|
|
||||||
list.add(new ZenodoDateInterval(dateInterval.getStart(), dateInterval.getEnd(), types, dateInterval.getDescription()));
|
list.add(new ZenodoDateInterval(dateInterval.getStart(), dateInterval.getEnd(), types,
|
||||||
|
dateInterval.getDescription()));
|
||||||
}
|
}
|
||||||
|
|
||||||
return list;
|
return list;
|
||||||
|
@ -351,7 +346,7 @@ public class ItemToZenodoConverter {
|
||||||
*/
|
*/
|
||||||
public static List<ZenodoCommunity> toZenodoCommunities(List<Community> communities) {
|
public static List<ZenodoCommunity> toZenodoCommunities(List<Community> communities) {
|
||||||
|
|
||||||
if(communities==null)
|
if (communities == null)
|
||||||
return null;
|
return null;
|
||||||
|
|
||||||
List<ZenodoCommunity> list = new ArrayList<ZenodoCommunity>(communities.size());
|
List<ZenodoCommunity> list = new ArrayList<ZenodoCommunity>(communities.size());
|
||||||
|
@ -370,7 +365,7 @@ public class ItemToZenodoConverter {
|
||||||
*/
|
*/
|
||||||
public static List<ZenodoContributor> toZenodoContributors(List<Contributor> contributors) {
|
public static List<ZenodoContributor> toZenodoContributors(List<Contributor> contributors) {
|
||||||
|
|
||||||
if(contributors==null)
|
if (contributors == null)
|
||||||
return null;
|
return null;
|
||||||
|
|
||||||
List<ZenodoContributor> list = new ArrayList<ZenodoContributor>(contributors.size());
|
List<ZenodoContributor> list = new ArrayList<ZenodoContributor>(contributors.size());
|
||||||
|
@ -381,7 +376,7 @@ public class ItemToZenodoConverter {
|
||||||
zc.setName(contr.getName());
|
zc.setName(contr.getName());
|
||||||
zc.setOrcid(contr.getOrcid());
|
zc.setOrcid(contr.getOrcid());
|
||||||
SerializableEnum<String> types = null;
|
SerializableEnum<String> types = null;
|
||||||
if(contr.getType()!=null) {
|
if (contr.getType() != null) {
|
||||||
Contributor.Type[] rel = { contr.getType() };
|
Contributor.Type[] rel = { contr.getType() };
|
||||||
types = CkanToZenodoUtil.toSerializableEnum(rel, Contributor.Type.values());
|
types = CkanToZenodoUtil.toSerializableEnum(rel, Contributor.Type.values());
|
||||||
}
|
}
|
||||||
|
@ -400,7 +395,7 @@ public class ItemToZenodoConverter {
|
||||||
*/
|
*/
|
||||||
public static List<ZenodoCreator> toZenodoCreators(List<Creator> creators) {
|
public static List<ZenodoCreator> toZenodoCreators(List<Creator> creators) {
|
||||||
|
|
||||||
if(creators==null)
|
if (creators == null)
|
||||||
return null;
|
return null;
|
||||||
|
|
||||||
List<ZenodoCreator> list = new ArrayList<ZenodoCreator>(creators.size());
|
List<ZenodoCreator> list = new ArrayList<ZenodoCreator>(creators.size());
|
||||||
|
@ -416,7 +411,6 @@ public class ItemToZenodoConverter {
|
||||||
return list;
|
return list;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* To service file deposition.
|
* To service file deposition.
|
||||||
*
|
*
|
||||||
|
@ -425,7 +419,7 @@ public class ItemToZenodoConverter {
|
||||||
*/
|
*/
|
||||||
public static FileDeposition toServiceFileDeposition(ZenodoFile zenodoFile) {
|
public static FileDeposition toServiceFileDeposition(ZenodoFile zenodoFile) {
|
||||||
|
|
||||||
if(zenodoFile==null)
|
if (zenodoFile == null)
|
||||||
return null;
|
return null;
|
||||||
|
|
||||||
FileDeposition fileDep = new FileDeposition();
|
FileDeposition fileDep = new FileDeposition();
|
||||||
|
@ -433,165 +427,164 @@ public class ItemToZenodoConverter {
|
||||||
fileDep.setFilename(zenodoFile.getFilename());
|
fileDep.setFilename(zenodoFile.getFilename());
|
||||||
try {
|
try {
|
||||||
fileDep.setFilesize(Integer.parseInt(zenodoFile.getFilesize()));
|
fileDep.setFilesize(Integer.parseInt(zenodoFile.getFilesize()));
|
||||||
}catch (Exception e) {
|
} catch (Exception e) {
|
||||||
// TODO: handle exception
|
// TODO: handle exception
|
||||||
}
|
}
|
||||||
fileDep.setChecksum(zenodoFile.getChecksum());
|
fileDep.setChecksum(zenodoFile.getChecksum());
|
||||||
return fileDep;
|
return fileDep;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Update metadata info of deposition metadata.
|
* Update metadata info of deposition metadata.
|
||||||
*
|
*
|
||||||
* @param metadata the metadata
|
* @param metadata the metadata
|
||||||
* @param depositionMetadata the deposition metadata
|
* @param depositionMetadata the deposition metadata
|
||||||
* @return the deposition metadata
|
* @return the deposition metadata
|
||||||
*/
|
*/
|
||||||
public static DepositionMetadata updateMetadataInfoOfDepositionMetadata(ZenodoMetadata metadata, DepositionMetadata depositionMetadata) {
|
public static DepositionMetadata updateMetadataInfoOfDepositionMetadata(ZenodoMetadata metadata,
|
||||||
|
DepositionMetadata depositionMetadata) {
|
||||||
|
|
||||||
//description
|
// description
|
||||||
String description = metadata.getDescription();
|
String description = metadata.getDescription();
|
||||||
LOG.debug("Read description: "+description);
|
LOG.debug("Read description: " + description);
|
||||||
if(description!=null) {
|
if (description != null) {
|
||||||
depositionMetadata.setDescription(description);
|
depositionMetadata.setDescription(description);
|
||||||
}
|
}
|
||||||
|
|
||||||
//upload type
|
// upload type
|
||||||
SerializableEnum<String> uploadType = metadata.getUpload_type();
|
SerializableEnum<String> uploadType = metadata.getUpload_type();
|
||||||
LOG.debug("Read upload type: "+uploadType);
|
LOG.debug("Read upload type: " + uploadType);
|
||||||
if(uploadType!=null && uploadType.getSelectedValues()!=null) {
|
if (uploadType != null && uploadType.getSelectedValues() != null) {
|
||||||
String theUploadTypeValue = uploadType.getSelectedValues().get(0);
|
String theUploadTypeValue = uploadType.getSelectedValues().get(0);
|
||||||
LOG.debug("Set upload type: "+theUploadTypeValue);
|
LOG.debug("Set upload type: " + theUploadTypeValue);
|
||||||
depositionMetadata.setUpload_type(UploadType.valueOf(theUploadTypeValue));
|
depositionMetadata.setUpload_type(UploadType.valueOf(theUploadTypeValue));
|
||||||
}
|
}
|
||||||
|
|
||||||
//access right
|
// access right
|
||||||
SerializableEnum<String> accessRight = metadata.getAccess_right();
|
SerializableEnum<String> accessRight = metadata.getAccess_right();
|
||||||
LOG.debug("Read access type: "+accessRight);
|
LOG.debug("Read access type: " + accessRight);
|
||||||
if(accessRight!=null && accessRight.getSelectedValues()!=null) {
|
if (accessRight != null && accessRight.getSelectedValues() != null) {
|
||||||
try {
|
try {
|
||||||
String theAccessRightValue = accessRight.getSelectedValues().get(0);
|
String theAccessRightValue = accessRight.getSelectedValues().get(0);
|
||||||
LOG.debug("Set access right: "+theAccessRightValue);
|
LOG.debug("Set access right: " + theAccessRightValue);
|
||||||
depositionMetadata.setAccess_right(AccessRights.valueOf(theAccessRightValue));
|
depositionMetadata.setAccess_right(AccessRights.valueOf(theAccessRightValue));
|
||||||
}catch (Exception e) {
|
} catch (Exception e) {
|
||||||
LOG.warn("Set access right error: ",e);
|
LOG.warn("Set access right error: ", e);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//publication type
|
// publication type
|
||||||
SerializableEnum<String> publicationType = metadata.getPublication_type();
|
SerializableEnum<String> publicationType = metadata.getPublication_type();
|
||||||
LOG.debug("Read publication type: "+publicationType);
|
LOG.debug("Read publication type: " + publicationType);
|
||||||
if(publicationType!=null && publicationType.getSelectedValues()!=null) {
|
if (publicationType != null && publicationType.getSelectedValues() != null) {
|
||||||
try {
|
try {
|
||||||
String thePublicationTypeValue = publicationType.getSelectedValues().get(0);
|
String thePublicationTypeValue = publicationType.getSelectedValues().get(0);
|
||||||
LOG.debug("Set publication type: "+thePublicationTypeValue);
|
LOG.debug("Set publication type: " + thePublicationTypeValue);
|
||||||
depositionMetadata.setPublication_type(PublicationType.valueOf(thePublicationTypeValue));
|
depositionMetadata.setPublication_type(PublicationType.valueOf(thePublicationTypeValue));
|
||||||
}catch (Exception e) {
|
} catch (Exception e) {
|
||||||
LOG.warn("Set publication type error: ",e);
|
LOG.warn("Set publication type error: ", e);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//image type
|
// image type
|
||||||
SerializableEnum<String> imageType = metadata.getImage_type();
|
SerializableEnum<String> imageType = metadata.getImage_type();
|
||||||
LOG.debug("Read image type: "+imageType);
|
LOG.debug("Read image type: " + imageType);
|
||||||
if(imageType!=null && imageType.getSelectedValues()!=null) {
|
if (imageType != null && imageType.getSelectedValues() != null) {
|
||||||
try {
|
try {
|
||||||
String imageTypeValue = imageType.getSelectedValues().get(0);
|
String imageTypeValue = imageType.getSelectedValues().get(0);
|
||||||
LOG.debug("Set image type: "+imageTypeValue);
|
LOG.debug("Set image type: " + imageTypeValue);
|
||||||
depositionMetadata.setImage_type(ImageType.valueOf(imageTypeValue));
|
depositionMetadata.setImage_type(ImageType.valueOf(imageTypeValue));
|
||||||
}catch (Exception e) {
|
} catch (Exception e) {
|
||||||
LOG.warn("Set image type error: ",e);
|
LOG.warn("Set image type error: ", e);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//embargo_date
|
// embargo_date
|
||||||
Date embargoDate = metadata.getEmbargo_date();
|
Date embargoDate = metadata.getEmbargo_date();
|
||||||
LOG.debug("Read embargo date: "+imageType);
|
LOG.debug("Read embargo date: " + imageType);
|
||||||
if(embargoDate!=null) {
|
if (embargoDate != null) {
|
||||||
try {
|
try {
|
||||||
LOG.debug("Set embargo date: "+embargoDate);
|
LOG.debug("Set embargo date: " + embargoDate);
|
||||||
depositionMetadata.setEmbargo_date(embargoDate);
|
depositionMetadata.setEmbargo_date(embargoDate);
|
||||||
}catch (Exception e) {
|
} catch (Exception e) {
|
||||||
LOG.warn("Set embargo date error: ",e);
|
LOG.warn("Set embargo date error: ", e);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//access conditions
|
// access conditions
|
||||||
String accessConditions = metadata.getAccess_conditions();
|
String accessConditions = metadata.getAccess_conditions();
|
||||||
LOG.debug("Read access conditions: "+accessConditions);
|
LOG.debug("Read access conditions: " + accessConditions);
|
||||||
if(accessConditions!=null) {
|
if (accessConditions != null) {
|
||||||
LOG.debug("Set access conditions: "+accessConditions);
|
LOG.debug("Set access conditions: " + accessConditions);
|
||||||
depositionMetadata.setAccess_conditions(accessConditions);
|
depositionMetadata.setAccess_conditions(accessConditions);
|
||||||
}
|
}
|
||||||
|
|
||||||
//license
|
// license
|
||||||
List<String> licenses = metadata.getLicenseIDs();
|
List<String> licenses = metadata.getLicenseIDs();
|
||||||
LOG.debug("Read licenses: "+licenses);
|
LOG.debug("Read licenses: " + licenses);
|
||||||
if(licenses!=null && licenses.size()>0) {
|
if (licenses != null && licenses.size() > 0) {
|
||||||
try {
|
try {
|
||||||
String lB = licenses.get(0);
|
String lB = licenses.get(0);
|
||||||
LOG.debug("Set license: "+lB);
|
LOG.debug("Set license: " + lB);
|
||||||
depositionMetadata.setLicense(lB);
|
depositionMetadata.setLicense(lB);
|
||||||
}catch (Exception e) {
|
} catch (Exception e) {
|
||||||
LOG.warn("Set license error: ",e);
|
LOG.warn("Set license error: ", e);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//creators
|
// creators
|
||||||
List<Creator> creators = null;
|
List<Creator> creators = null;
|
||||||
List<? extends ZenodoAuthor> zenodoCreators = metadata.getCreators();
|
List<? extends ZenodoAuthor> zenodoCreators = metadata.getCreators();
|
||||||
LOG.debug("Read Creators: "+zenodoCreators);
|
LOG.debug("Read Creators: " + zenodoCreators);
|
||||||
if(zenodoCreators!=null) {
|
if (zenodoCreators != null) {
|
||||||
creators = toCreators(zenodoCreators);
|
creators = toCreators(zenodoCreators);
|
||||||
}
|
}
|
||||||
LOG.debug("Set Creators: "+creators);
|
LOG.debug("Set Creators: " + creators);
|
||||||
depositionMetadata.setCreators(creators);
|
depositionMetadata.setCreators(creators);
|
||||||
|
|
||||||
//contributors
|
// contributors
|
||||||
List<Contributor> contributors = null;
|
List<Contributor> contributors = null;
|
||||||
List<? extends ZenodoAuthor> zenodoContributors = metadata.getContributors();
|
List<? extends ZenodoAuthor> zenodoContributors = metadata.getContributors();
|
||||||
LOG.debug("Read Contributors: "+zenodoContributors);
|
LOG.debug("Read Contributors: " + zenodoContributors);
|
||||||
if(zenodoContributors!=null) {
|
if (zenodoContributors != null) {
|
||||||
contributors = toContributors(zenodoContributors);
|
contributors = toContributors(zenodoContributors);
|
||||||
}
|
}
|
||||||
|
|
||||||
if(LOG.isDebugEnabled()) {
|
if (LOG.isDebugEnabled()) {
|
||||||
for (Contributor contributor : contributors) {
|
for (Contributor contributor : contributors) {
|
||||||
LOG.debug("Set contributor: name "+contributor.getName() + " type "+contributor.getType());
|
LOG.debug("Set contributor: name " + contributor.getName() + " type " + contributor.getType());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
depositionMetadata.setContributors(contributors);
|
depositionMetadata.setContributors(contributors);
|
||||||
|
|
||||||
//keywords
|
// keywords
|
||||||
depositionMetadata.setKeywords(metadata.getKeywords());
|
depositionMetadata.setKeywords(metadata.getKeywords());
|
||||||
|
|
||||||
return depositionMetadata;
|
return depositionMetadata;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* To creators.
|
* To creators.
|
||||||
*
|
*
|
||||||
* @param zenodoCreators the zenodo creators
|
* @param zenodoCreators the zenodo creators
|
||||||
* @return the list
|
* @return the list
|
||||||
*/
|
*/
|
||||||
public static List<Creator> toCreators(List<? extends ZenodoAuthor> zenodoCreators){
|
public static List<Creator> toCreators(List<? extends ZenodoAuthor> zenodoCreators) {
|
||||||
|
|
||||||
if(zenodoCreators==null)
|
if (zenodoCreators == null)
|
||||||
return null;
|
return null;
|
||||||
|
|
||||||
List<Creator> listOfCreators = new ArrayList<>(zenodoCreators.size());
|
List<Creator> listOfCreators = new ArrayList<>(zenodoCreators.size());
|
||||||
for (ZenodoAuthor zenodoAuthor : zenodoCreators) {
|
for (ZenodoAuthor zenodoAuthor : zenodoCreators) {
|
||||||
Creator creator = new Creator();
|
Creator creator = new Creator();
|
||||||
creator.setName(zenodoAuthor.getName());
|
creator.setName(zenodoAuthor.getName());
|
||||||
if(CkanToZenodoUtil.isNotEmpty(zenodoAuthor.getAffiliation())) {
|
if (CkanToZenodoUtil.isNotEmpty(zenodoAuthor.getAffiliation())) {
|
||||||
creator.setAffiliation(zenodoAuthor.getAffiliation());
|
creator.setAffiliation(zenodoAuthor.getAffiliation());
|
||||||
}
|
}
|
||||||
if(CkanToZenodoUtil.isNotEmpty(zenodoAuthor.getGnd())) {
|
if (CkanToZenodoUtil.isNotEmpty(zenodoAuthor.getGnd())) {
|
||||||
creator.setGnd(zenodoAuthor.getGnd());
|
creator.setGnd(zenodoAuthor.getGnd());
|
||||||
}
|
}
|
||||||
if(CkanToZenodoUtil.isNotEmpty(zenodoAuthor.getOrcid())) {
|
if (CkanToZenodoUtil.isNotEmpty(zenodoAuthor.getOrcid())) {
|
||||||
creator.setOrcid(zenodoAuthor.getOrcid());
|
creator.setOrcid(zenodoAuthor.getOrcid());
|
||||||
}
|
}
|
||||||
listOfCreators.add(creator);
|
listOfCreators.add(creator);
|
||||||
|
@ -606,22 +599,22 @@ public class ItemToZenodoConverter {
|
||||||
* @param zenodoContributors the zenodo contributors
|
* @param zenodoContributors the zenodo contributors
|
||||||
* @return the list
|
* @return the list
|
||||||
*/
|
*/
|
||||||
public static List<Contributor> toContributors(List<? extends ZenodoAuthor> zenodoContributors){
|
public static List<Contributor> toContributors(List<? extends ZenodoAuthor> zenodoContributors) {
|
||||||
|
|
||||||
if(zenodoContributors==null)
|
if (zenodoContributors == null)
|
||||||
return null;
|
return null;
|
||||||
|
|
||||||
List<Contributor> listOfContributors = new ArrayList<Contributor>(zenodoContributors.size());
|
List<Contributor> listOfContributors = new ArrayList<Contributor>(zenodoContributors.size());
|
||||||
for (ZenodoAuthor zenodoAuthor : zenodoContributors) {
|
for (ZenodoAuthor zenodoAuthor : zenodoContributors) {
|
||||||
Contributor contributor = new Contributor();
|
Contributor contributor = new Contributor();
|
||||||
contributor.setName(zenodoAuthor.getName());
|
contributor.setName(zenodoAuthor.getName());
|
||||||
if(CkanToZenodoUtil.isNotEmpty(zenodoAuthor.getAffiliation())) {
|
if (CkanToZenodoUtil.isNotEmpty(zenodoAuthor.getAffiliation())) {
|
||||||
contributor.setAffiliation(zenodoAuthor.getAffiliation());
|
contributor.setAffiliation(zenodoAuthor.getAffiliation());
|
||||||
}
|
}
|
||||||
if(CkanToZenodoUtil.isNotEmpty(zenodoAuthor.getGnd())) {
|
if (CkanToZenodoUtil.isNotEmpty(zenodoAuthor.getGnd())) {
|
||||||
contributor.setGnd(zenodoAuthor.getGnd());
|
contributor.setGnd(zenodoAuthor.getGnd());
|
||||||
}
|
}
|
||||||
if(CkanToZenodoUtil.isNotEmpty(zenodoAuthor.getOrcid())) {
|
if (CkanToZenodoUtil.isNotEmpty(zenodoAuthor.getOrcid())) {
|
||||||
contributor.setOrcid(zenodoAuthor.getOrcid());
|
contributor.setOrcid(zenodoAuthor.getOrcid());
|
||||||
}
|
}
|
||||||
Type type = null;
|
Type type = null;
|
||||||
|
@ -629,8 +622,8 @@ public class ItemToZenodoConverter {
|
||||||
try {
|
try {
|
||||||
theType = zenodoAuthor.getType().getSelectedValues().get(0);
|
theType = zenodoAuthor.getType().getSelectedValues().get(0);
|
||||||
type = Type.valueOf(theType);
|
type = Type.valueOf(theType);
|
||||||
}catch (Exception e) {
|
} catch (Exception e) {
|
||||||
LOG.error("I'm not able to convert "+theType + " as value of "+Type.class.getName());
|
LOG.error("I'm not able to convert " + theType + " as value of " + Type.class.getName());
|
||||||
}
|
}
|
||||||
contributor.setType(type);
|
contributor.setType(type);
|
||||||
listOfContributors.add(contributor);
|
listOfContributors.add(contributor);
|
||||||
|
@ -639,6 +632,4 @@ public class ItemToZenodoConverter {
|
||||||
return listOfContributors;
|
return listOfContributors;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue