ckan2zenodo-library/src/test/java/org/gcube/tests/OneHitTest.java

64 lines
2.3 KiB
Java
Raw Normal View History

2019-12-16 18:49:29 +01:00
package org.gcube.tests;
2020-01-17 18:37:07 +01:00
import java.net.MalformedURLException;
2019-12-16 18:49:29 +01:00
import java.util.Collections;
import java.util.List;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.Future;
import org.gcube.data.publishing.ckan2zenodo.Ckan2Zenodo;
2020-01-14 14:18:13 +01:00
import org.gcube.data.publishing.ckan2zenodo.Ckan2ZenodoImpl;
2019-12-16 18:49:29 +01:00
import org.gcube.data.publishing.ckan2zenodo.model.CkanItemDescriptor;
import org.gcube.data.publishing.ckan2zenodo.model.CkanResource;
import org.gcube.data.publishing.ckan2zenodo.model.faults.ConfigurationException;
import org.gcube.data.publishing.ckan2zenodo.model.faults.GcatException;
import org.gcube.data.publishing.ckan2zenodo.model.faults.InvalidItemException;
import org.gcube.data.publishing.ckan2zenodo.model.faults.TransformationException;
import org.gcube.data.publishing.ckan2zenodo.model.faults.ZenodoException;
import org.gcube.data.publishing.ckan2zenodo.model.zenodo.ZenodoDeposition;
public class OneHitTest {
2020-01-17 18:37:07 +01:00
public static void main(String[] args) throws GcatException, InvalidItemException, ZenodoException, ConfigurationException, TransformationException, InterruptedException, ExecutionException, MalformedURLException {
2020-09-24 12:32:46 +02:00
// String scope="/gcube/devsec";
String scope="/pred4s/preprod/preVRE";
2020-01-23 18:03:28 +01:00
TokenSetter.set(scope);
2020-01-14 14:18:13 +01:00
Ckan2Zenodo client=new Ckan2ZenodoImpl();
2021-03-08 17:12:28 +01:00
String toPublishItemName="a_sample_deliverable_4_zenodo";
2019-12-16 18:49:29 +01:00
// Get the item representation
CkanItemDescriptor item=client.read(toPublishItemName);
System.out.println("Item PROFILE is : "+item.getProfile());
2019-12-16 18:49:29 +01:00
//Get a preview of the deposition to be published
ZenodoDeposition preview=client.translate(item);
//Filter resources according to VRE policies
List<CkanResource> toFilter=client.filterResources(item);
//Eventually update values
preview.getMetadata().setAccess_conditions("Ask me");
//Actually publish to zenodo :
// Step 1 : metadata
2020-01-17 18:37:07 +01:00
System.out.println("Create/update metadata..");
2019-12-16 18:49:29 +01:00
preview=client.updatedMetadata(preview);
2020-01-17 18:37:07 +01:00
System.out.println("Publish files..");
2019-12-16 18:49:29 +01:00
//Step 2 : publish Resources
Future<ZenodoDeposition> future_Dep=client.uploadFiles(Collections.singleton(toFilter.get(0)), preview);
preview=future_Dep.get();
2020-01-17 18:37:07 +01:00
System.out.println("Publishing.. ");
2019-12-16 18:49:29 +01:00
//Finalize
2021-03-08 17:39:24 +01:00
System.out.println("DONE : "+client.publish(preview, item));
2019-12-16 18:49:29 +01:00
}
}