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

View File

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

View File

@ -2,10 +2,6 @@ package org.gcube.data.publishing.ckan2zenodo.clients;
import java.io.File; import java.io.File;
import java.io.IOException; 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.List;
import java.util.concurrent.Callable; import java.util.concurrent.Callable;
import java.util.concurrent.Future; 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.ObjectMapper;
import com.fasterxml.jackson.databind.SerializationFeature; import com.fasterxml.jackson.databind.SerializationFeature;
import lombok.Getter;
import lombok.NonNull; import lombok.NonNull;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
@ -84,7 +81,7 @@ public class Zenodo {
return new Zenodo(toSet); return new Zenodo(toSet);
} }
@Getter
@NonNull @NonNull
private ZenodoCredentials credentials; 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());
}
}