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="f4292d0e-c94f-4542-bfa3-25f78638fc1b"; // 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 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 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)); } }