This commit is contained in:
Francesco Mangiacrapa 2019-12-10 17:39:12 +01:00
parent 02e264df8d
commit c65b87511b
1 changed files with 30 additions and 3 deletions

View File

@ -12,6 +12,7 @@ import org.gcube.data.publishing.ckan2zenodo.model.zenodo.DepositionMetadata.Acc
import org.gcube.data.publishing.ckan2zenodo.model.zenodo.FileDeposition;
import org.gcube.data.publishing.ckan2zenodo.model.zenodo.RelatedIdentifier;
import org.gcube.data.publishing.ckan2zenodo.model.zenodo.RelatedIdentifier.Relation;
import org.gcube.data.publishing.ckan2zenodo.model.zenodo.Subject;
import org.gcube.data.publishing.ckan2zenodo.model.zenodo.ZenodoDeposition;
import org.gcube.portlets.widgets.ckan2zenodopublisher.server.CkanToZenodoUtil;
import org.gcube.portlets.widgets.ckan2zenodopublisher.shared.SerializableEnum;
@ -23,6 +24,7 @@ import org.gcube.portlets.widgets.ckan2zenodopublisher.shared.wrapped.ZenodoFile
import org.gcube.portlets.widgets.ckan2zenodopublisher.shared.wrapped.ZenodoItem;
import org.gcube.portlets.widgets.ckan2zenodopublisher.shared.wrapped.ZenodoMetadata;
import org.gcube.portlets.widgets.ckan2zenodopublisher.shared.wrapped.ZenodoRelatedIdentifier;
import org.gcube.portlets.widgets.ckan2zenodopublisher.shared.wrapped.ZenodoSubject;
@ -104,11 +106,13 @@ public class ItemToZenodoConverter {
ZenodoMetadata zm = new ZenodoMetadata();
zm.setAccess_conditions(depositionMetadata.getAccess_conditions());
if(depositionMetadata.getAccess_right()!=null) {
AccessRights[] ar = { depositionMetadata.getAccess_right() };
SerializableEnum<String> sEnum = CkanToZenodoUtil.toSerializableEnum(ar, AccessRights.values());
zm.setAccess_right(sEnum);
}
zm.setCommunities(toZenodoCommunities(depositionMetadata.getCommunities()));
zm.setConference_acronym(depositionMetadata.getConference_acronym());
zm.setConference_dates(depositionMetadata.getConference_dates());
@ -120,12 +124,35 @@ public class ItemToZenodoConverter {
zm.setContributors(toZenodoContributors(depositionMetadata.getContributors()));
zm.setCreators(toZenodoCreators(depositionMetadata.getCreators()));
zm.setDates(toZenodDateIntervals(depositionMetadata.getDates()));
zm.setRelated_identifiers(toRelatedIdentifiers(depositionMetadata.getRelated_identifiers()));
zm.setSubjects(toZenodoSubjects(depositionMetadata.getSubjects()));
zm.setThesis_supervisors(toZenodoCreators(depositionMetadata.getThesis_supervisors()));
zm.setThesis_university(depositionMetadata.getThesis_university());
zm.setTitle(depositionMetadata.getTitle());
zm.setVersion(depositionMetadata.getVersion());
return zm;
}
/**
* To zenodo subjects.
*
* @param subjects the subjects
* @return the list
*/
private static List<ZenodoSubject> toZenodoSubjects(List<Subject> subjects) {
if(subjects==null)
return null;
List<ZenodoSubject> list = new ArrayList<ZenodoSubject>(subjects.size());
for (Subject sub : subjects) {
ZenodoSubject zs = new ZenodoSubject(sub.getTerm(), sub.getIdentifier(), sub.getScheme());
list.add(zs);
}
return list;
}
/**
* To related identifiers.
*