Fixed default Translation

This commit is contained in:
Fabio Sinibaldi 2020-06-18 12:21:43 +02:00
parent 53542ff0ba
commit 854b2e7aa1
4 changed files with 65 additions and 15 deletions

View File

@ -8,7 +8,7 @@
</parent>
<groupId>org.gcube.data.publishing</groupId>
<artifactId>ckan2zenodo-library</artifactId>
<version>0.0.1</version>
<version>0.0.2-SNAPSHOT</version>
<name>CKAN 2 Zenodo Library</name>
<description>Library to publish d4science CKAN items into Zenodo</description>
@ -31,7 +31,7 @@
<dependency>
<groupId>org.gcube.distribution</groupId>
<artifactId>gcube-bom</artifactId>
<version>1.4.0</version>
<version>1.5.0</version>
<type>pom</type>
<scope>import</scope>
</dependency>

View File

@ -1,8 +1,10 @@
package org.gcube.data.publishing.ckan2zenodo;
import java.time.Instant;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.Date;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
@ -19,8 +21,10 @@ import org.gcube.data.publishing.ckan2zenodo.model.parsing.Mapping.Source.Value;
import org.gcube.data.publishing.ckan2zenodo.model.parsing.ResourceFilter;
import org.gcube.data.publishing.ckan2zenodo.model.parsing.ResourceFilter.Filter;
import org.gcube.data.publishing.ckan2zenodo.model.zenodo.Contributor;
import org.gcube.data.publishing.ckan2zenodo.model.zenodo.Creator;
import org.gcube.data.publishing.ckan2zenodo.model.zenodo.DepositionMetadata;
import org.gcube.data.publishing.ckan2zenodo.model.zenodo.DepositionMetadata.AccessRights;
import org.gcube.data.publishing.ckan2zenodo.model.zenodo.DepositionMetadata.UploadType;
import org.gcube.data.publishing.ckan2zenodo.model.zenodo.RelatedIdentifier;
import org.gcube.data.publishing.ckan2zenodo.model.zenodo.ZenodoDeposition;
@ -62,10 +66,15 @@ public class Translator {
if(meta==null)
meta=new DepositionMetadata();
// UPLOAD TYPE
meta.setUpload_type(UploadType.other);
// TITLE
meta.setTitle(toTransform.getTitle());
// DESCRIPTION
meta.setDescription(toTransform.getNotes());
// Access Right
// ACCESS RIGHTS
if(toTransform.isOpen())
meta.setAccess_right(AccessRights.open);
else {
@ -73,24 +82,35 @@ public class Translator {
meta.setAccess_conditions("Visit the VRE "+toTransform.getVRE()+" to access it.");
}
// LICENSE
meta.setLicense(toTransform.getLicenseId());
// TAGS
meta.setKeywords(new ArrayList<String>(toTransform.getTags()));
//Related Identifiers
//RELATED IDENTIFIER
String itemUrl=toTransform.getItemUrl();
ArrayList<RelatedIdentifier> relatedIdentifiers=new ArrayList<>();
if(itemUrl!=null) relatedIdentifiers.add(new RelatedIdentifier(itemUrl,RelatedIdentifier.Relation.compiles));
if(itemUrl!=null) relatedIdentifiers.add(new RelatedIdentifier(itemUrl,RelatedIdentifier.Relation.isCompiledBy));
meta.setRelated_identifiers(relatedIdentifiers);
//Contributors
//CONTRIBUTORS & CREATORS
ArrayList<Contributor> contributors=new ArrayList<>();
ArrayList<Creator> creators=new ArrayList<>();
String authorName=toTransform.getAuthor();
if(authorName!=null) {
Contributor author=new Contributor(Contributor.Type.Producer);
author.setName(authorName);
contributors.add(author);
creators.add(new Creator(authorName));
}
String maintainerName=toTransform.getAuthor();
@ -98,15 +118,29 @@ public class Translator {
Contributor maintainer=new Contributor(Contributor.Type.DataCurator);
maintainer.setName(maintainerName);
contributors.add(maintainer);
creators.add(new Creator(authorName));
}
// D4Science as contributor
Contributor d4Science=new Contributor(Contributor.Type.HostingInstitution);
d4Science.setName("D4Science");
meta.setContributors(contributors);
meta.setCreators(creators);
// VERSION
meta.setVersion(toTransform.getVersion());
// Dates
// DATES
// PUBLICATION DATE = now
meta.setPublication_date(Date.from(Instant.now()));
deposition.setMetadata(meta);
// profile specific mappings

View File

@ -2,10 +2,6 @@ package org.gcube.data.publishing.ckan2zenodo.clients;
import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.net.URL;
import java.nio.file.Files;
import java.nio.file.StandardCopyOption;
import java.util.List;
import java.util.concurrent.Callable;
import java.util.concurrent.Future;
@ -39,6 +35,7 @@ import com.fasterxml.jackson.databind.DeserializationFeature;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.SerializationFeature;
import lombok.Getter;
import lombok.NonNull;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
@ -84,7 +81,7 @@ public class Zenodo {
return new Zenodo(toSet);
}
@Getter
@NonNull
private ZenodoCredentials credentials;

View File

@ -0,0 +1,19 @@
package org.gcube.tests;
import org.gcube.data.publishing.ckan2zenodo.clients.Zenodo;
import org.gcube.data.publishing.ckan2zenodo.model.ZenodoCredentials;
import org.gcube.data.publishing.ckan2zenodo.model.faults.ConfigurationException;
public class InspectCredentials {
public static void main(String[] args) throws ConfigurationException {
TokenSetter.set("/d4science.research-infrastructures.eu/D4Research/AGINFRAplusDev");
ZenodoCredentials credentials=Zenodo.get().getCredentials();
System.out.println(credentials.getBaseUrl());
System.out.println(credentials.getKey());
}
}