Credentials loading from IS
This commit is contained in:
parent
a5a1383ab1
commit
4ceed8a581
|
@ -52,8 +52,9 @@ public interface Ckan2Zenodo {
|
|||
* @param toUpdate
|
||||
* @return
|
||||
* @throws ZenodoException
|
||||
* @throws ConfigurationException
|
||||
*/
|
||||
public ZenodoDeposition updatedMetadata(ZenodoDeposition toUpdate) throws ZenodoException;
|
||||
public ZenodoDeposition updatedMetadata(ZenodoDeposition toUpdate) throws ZenodoException, ConfigurationException;
|
||||
|
||||
/**
|
||||
* Filters ckan resources of @param desc by using mappings declared in current VRE
|
||||
|
@ -72,8 +73,9 @@ public interface Ckan2Zenodo {
|
|||
* @param deposition
|
||||
* @return
|
||||
* @throws ZenodoException
|
||||
* @throws ConfigurationException
|
||||
*/
|
||||
public Future<ZenodoDeposition> uploadFiles(Set<CkanResource> toUpload,ZenodoDeposition deposition) throws ZenodoException;
|
||||
public Future<ZenodoDeposition> uploadFiles(Set<CkanResource> toUpload,ZenodoDeposition deposition) throws ZenodoException, ConfigurationException;
|
||||
|
||||
/**
|
||||
* Publishes @param dep, setting/updateing DOI reference into @param toUpdate
|
||||
|
@ -82,7 +84,8 @@ public interface Ckan2Zenodo {
|
|||
* @param toUpdate
|
||||
* @return
|
||||
* @throws ZenodoException
|
||||
* @throws ConfigurationException
|
||||
*/
|
||||
public ZenodoDeposition publish(ZenodoDeposition dep, CkanItemDescriptor toUpdate) throws ZenodoException;
|
||||
public ZenodoDeposition publish(ZenodoDeposition dep, CkanItemDescriptor toUpdate) throws ZenodoException, ConfigurationException;
|
||||
|
||||
}
|
||||
|
|
|
@ -47,7 +47,7 @@ public class Ckan2ZenodoImpl implements Ckan2Zenodo{
|
|||
}
|
||||
|
||||
@Override
|
||||
public ZenodoDeposition updatedMetadata(ZenodoDeposition toUpdate) throws ZenodoException {
|
||||
public ZenodoDeposition updatedMetadata(ZenodoDeposition toUpdate) throws ZenodoException, ConfigurationException {
|
||||
if(toUpdate.getSubmitted())
|
||||
Zenodo.get().unlockPublished(toUpdate.getId());
|
||||
|
||||
|
@ -61,7 +61,7 @@ public class Ckan2ZenodoImpl implements Ckan2Zenodo{
|
|||
}
|
||||
|
||||
@Override
|
||||
public Future<ZenodoDeposition> uploadFiles(Set<CkanResource> toUpload, ZenodoDeposition deposition) throws ZenodoException {
|
||||
public Future<ZenodoDeposition> uploadFiles(Set<CkanResource> toUpload, ZenodoDeposition deposition) throws ZenodoException, ConfigurationException {
|
||||
final Zenodo z=Zenodo.get();
|
||||
|
||||
if(deposition.getSubmitted())
|
||||
|
@ -86,7 +86,7 @@ public class Ckan2ZenodoImpl implements Ckan2Zenodo{
|
|||
}
|
||||
|
||||
@Override
|
||||
public ZenodoDeposition publish(ZenodoDeposition dep, CkanItemDescriptor toUpdate) throws ZenodoException {
|
||||
public ZenodoDeposition publish(ZenodoDeposition dep, CkanItemDescriptor toUpdate) throws ZenodoException, ConfigurationException {
|
||||
if(dep.getSubmitted())
|
||||
Zenodo.get().unlockPublished(dep.getId());
|
||||
|
||||
|
|
|
@ -16,12 +16,15 @@ public class LocalConfiguration {
|
|||
public static class Configuration{
|
||||
|
||||
public static final String THREAD_POOL_SIZE="THREAD_POOL_SIZE";
|
||||
public static final String ZENODO_ENDPOINT_CATEGORY="ZENODO_ENDPOINT_CATEGORY";
|
||||
public static final String ZENODO_ENDPOINT_PLATFORM="ZENODO_ENDPOINT_PLATFORM";
|
||||
}
|
||||
public static final Map<String,Object> defaultConfigurationMap=new HashMap<String,Object>();
|
||||
|
||||
static {
|
||||
defaultConfigurationMap.put(Configuration.THREAD_POOL_SIZE, "5");
|
||||
|
||||
defaultConfigurationMap.put(Configuration.ZENODO_ENDPOINT_CATEGORY,"Repository");
|
||||
defaultConfigurationMap.put(Configuration.ZENODO_ENDPOINT_PLATFORM,"Zenodo");
|
||||
}
|
||||
private static LocalConfiguration instance=null;
|
||||
|
||||
|
|
|
@ -5,6 +5,7 @@ import java.io.IOException;
|
|||
import java.net.URL;
|
||||
import java.nio.file.Files;
|
||||
import java.nio.file.StandardCopyOption;
|
||||
import java.util.List;
|
||||
import java.util.concurrent.Callable;
|
||||
import java.util.concurrent.Future;
|
||||
|
||||
|
@ -14,8 +15,14 @@ import javax.ws.rs.client.Entity;
|
|||
import javax.ws.rs.core.MediaType;
|
||||
import javax.ws.rs.core.Response;
|
||||
|
||||
import org.gcube.common.resources.gcore.ServiceEndpoint;
|
||||
import org.gcube.common.resources.gcore.ServiceEndpoint.AccessPoint;
|
||||
import org.gcube.data.publishing.ckan2zenodo.Fixer;
|
||||
import org.gcube.data.publishing.ckan2zenodo.LocalConfiguration;
|
||||
import org.gcube.data.publishing.ckan2zenodo.LocalConfiguration.Configuration;
|
||||
import org.gcube.data.publishing.ckan2zenodo.commons.IS;
|
||||
import org.gcube.data.publishing.ckan2zenodo.model.ZenodoCredentials;
|
||||
import org.gcube.data.publishing.ckan2zenodo.model.faults.ConfigurationException;
|
||||
import org.gcube.data.publishing.ckan2zenodo.model.faults.ZenodoException;
|
||||
import org.gcube.data.publishing.ckan2zenodo.model.zenodo.DepositionMetadata;
|
||||
import org.gcube.data.publishing.ckan2zenodo.model.zenodo.FileDeposition;
|
||||
|
@ -61,9 +68,16 @@ public class Zenodo {
|
|||
}
|
||||
|
||||
|
||||
public static final Zenodo get() {
|
||||
// READ FROM IS
|
||||
throw new RuntimeException("IMPLEMENT THIS");
|
||||
public static final Zenodo get() throws ConfigurationException {
|
||||
String eprCategory=LocalConfiguration.getProperty(Configuration.ZENODO_ENDPOINT_CATEGORY);
|
||||
String eprPlatform=LocalConfiguration.getProperty(Configuration.ZENODO_ENDPOINT_PLATFORM);
|
||||
List<ServiceEndpoint> eps=IS.queryForServiceEndpoints(eprCategory,eprPlatform);
|
||||
|
||||
if(eps.isEmpty()) throw new ConfigurationException("No Zenodo Credentials found ("+eprCategory+" : "+eprPlatform+")");
|
||||
if(eps.size()>1) throw new ConfigurationException("Multiple ["+eps.size()+"] Zenodo Credentials found ("+eprCategory+" : "+eprPlatform+")");
|
||||
AccessPoint se=eps.get(0).profile().accessPoints().iterator().next();
|
||||
ZenodoCredentials toSet=new ZenodoCredentials(se.password(), se.address());
|
||||
return new Zenodo(toSet);
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -5,7 +5,7 @@ import java.net.MalformedURLException;
|
|||
import org.gcube.common.authorization.library.provider.SecurityTokenProvider;
|
||||
import org.gcube.data.publishing.ckan2zenodo.clients.GCat;
|
||||
import org.gcube.data.publishing.ckan2zenodo.model.CkanItemDescriptor;
|
||||
import org.junit.Before;
|
||||
import org.gcube.gcat.client.Item;
|
||||
import org.junit.Test;
|
||||
|
||||
public class GCatTests {
|
||||
|
@ -21,4 +21,15 @@ public class GCatTests {
|
|||
System.out.println(item.getProfile());
|
||||
}
|
||||
|
||||
|
||||
@Test
|
||||
public void publishUpdate() throws MalformedURLException {
|
||||
TokenSetter.set("/gcube/devsec/devVRE");
|
||||
System.out.println(SecurityTokenProvider.instance.get());
|
||||
String json=TestCommons.convertStreamToString(GCatTests.class.getResourceAsStream("/ResearchObject.json"));
|
||||
new Item().create(json);
|
||||
// GCat.updateItem(toUpdate);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue