64 lines
2.3 KiB
Java
64 lines
2.3 KiB
Java
package org.gcube.tests;
|
|
|
|
import java.net.MalformedURLException;
|
|
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;
|
|
import org.gcube.data.publishing.ckan2zenodo.Ckan2ZenodoImpl;
|
|
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 {
|
|
|
|
|
|
public static void main(String[] args) throws GcatException, InvalidItemException, ZenodoException, ConfigurationException, TransformationException, InterruptedException, ExecutionException, MalformedURLException {
|
|
// String scope="/gcube/devsec";
|
|
String scope="/pred4s/preprod/preVRE";
|
|
TokenSetter.set(scope);
|
|
|
|
Ckan2Zenodo client=new Ckan2ZenodoImpl();
|
|
String toPublishItemName="a_sample_deliverable_4_zenodo";
|
|
|
|
// Get the item representation
|
|
CkanItemDescriptor item=client.read(toPublishItemName);
|
|
|
|
System.out.println("Item PROFILE is : "+item.getProfile());
|
|
//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
|
|
|
|
System.out.println("Create/update metadata..");
|
|
preview=client.updatedMetadata(preview);
|
|
|
|
System.out.println("Publish files..");
|
|
//Step 2 : publish Resources
|
|
Future<ZenodoDeposition> future_Dep=client.uploadFiles(Collections.singleton(toFilter.get(0)), preview);
|
|
preview=future_Dep.get();
|
|
|
|
System.out.println("Publishing.. ");
|
|
//Finalize
|
|
|
|
System.out.println("DONE : "+client.publish(preview, item));
|
|
|
|
}
|
|
|
|
|
|
}
|