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

56 lines
1.9 KiB
Java

package org.gcube.tests;
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.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 {
TokenSetter.set("/pred4s/preprod/preVRE");
Ckan2Zenodo client=Ckan2Zenodo.get();
String toPublishItemName="my_item";
// Get the item representation
CkanItemDescriptor item=client.read(toPublishItemName);
//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
preview=client.updatedMetadata(preview);
//Step 2 : publish Resources
Future<ZenodoDeposition> future_Dep=client.uploadFiles(Collections.singleton(toFilter.get(0)), preview);
preview=future_Dep.get();
//Finalize
client.publish(preview, item);
}
}