Credentials loading from IS
This commit is contained in:
parent
a5a1383ab1
commit
4ceed8a581
|
@ -52,8 +52,9 @@ public interface Ckan2Zenodo {
|
||||||
* @param toUpdate
|
* @param toUpdate
|
||||||
* @return
|
* @return
|
||||||
* @throws ZenodoException
|
* @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
|
* Filters ckan resources of @param desc by using mappings declared in current VRE
|
||||||
|
@ -72,8 +73,9 @@ public interface Ckan2Zenodo {
|
||||||
* @param deposition
|
* @param deposition
|
||||||
* @return
|
* @return
|
||||||
* @throws ZenodoException
|
* @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
|
* Publishes @param dep, setting/updateing DOI reference into @param toUpdate
|
||||||
|
@ -82,7 +84,8 @@ public interface Ckan2Zenodo {
|
||||||
* @param toUpdate
|
* @param toUpdate
|
||||||
* @return
|
* @return
|
||||||
* @throws ZenodoException
|
* @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
|
@Override
|
||||||
public ZenodoDeposition updatedMetadata(ZenodoDeposition toUpdate) throws ZenodoException {
|
public ZenodoDeposition updatedMetadata(ZenodoDeposition toUpdate) throws ZenodoException, ConfigurationException {
|
||||||
if(toUpdate.getSubmitted())
|
if(toUpdate.getSubmitted())
|
||||||
Zenodo.get().unlockPublished(toUpdate.getId());
|
Zenodo.get().unlockPublished(toUpdate.getId());
|
||||||
|
|
||||||
|
@ -61,7 +61,7 @@ public class Ckan2ZenodoImpl implements Ckan2Zenodo{
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@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();
|
final Zenodo z=Zenodo.get();
|
||||||
|
|
||||||
if(deposition.getSubmitted())
|
if(deposition.getSubmitted())
|
||||||
|
@ -86,7 +86,7 @@ public class Ckan2ZenodoImpl implements Ckan2Zenodo{
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public ZenodoDeposition publish(ZenodoDeposition dep, CkanItemDescriptor toUpdate) throws ZenodoException {
|
public ZenodoDeposition publish(ZenodoDeposition dep, CkanItemDescriptor toUpdate) throws ZenodoException, ConfigurationException {
|
||||||
if(dep.getSubmitted())
|
if(dep.getSubmitted())
|
||||||
Zenodo.get().unlockPublished(dep.getId());
|
Zenodo.get().unlockPublished(dep.getId());
|
||||||
|
|
||||||
|
|
|
@ -16,12 +16,15 @@ public class LocalConfiguration {
|
||||||
public static class Configuration{
|
public static class Configuration{
|
||||||
|
|
||||||
public static final String THREAD_POOL_SIZE="THREAD_POOL_SIZE";
|
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>();
|
public static final Map<String,Object> defaultConfigurationMap=new HashMap<String,Object>();
|
||||||
|
|
||||||
static {
|
static {
|
||||||
defaultConfigurationMap.put(Configuration.THREAD_POOL_SIZE, "5");
|
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;
|
private static LocalConfiguration instance=null;
|
||||||
|
|
||||||
|
|
|
@ -5,6 +5,7 @@ import java.io.IOException;
|
||||||
import java.net.URL;
|
import java.net.URL;
|
||||||
import java.nio.file.Files;
|
import java.nio.file.Files;
|
||||||
import java.nio.file.StandardCopyOption;
|
import java.nio.file.StandardCopyOption;
|
||||||
|
import java.util.List;
|
||||||
import java.util.concurrent.Callable;
|
import java.util.concurrent.Callable;
|
||||||
import java.util.concurrent.Future;
|
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.MediaType;
|
||||||
import javax.ws.rs.core.Response;
|
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.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.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.faults.ZenodoException;
|
||||||
import org.gcube.data.publishing.ckan2zenodo.model.zenodo.DepositionMetadata;
|
import org.gcube.data.publishing.ckan2zenodo.model.zenodo.DepositionMetadata;
|
||||||
import org.gcube.data.publishing.ckan2zenodo.model.zenodo.FileDeposition;
|
import org.gcube.data.publishing.ckan2zenodo.model.zenodo.FileDeposition;
|
||||||
|
@ -61,9 +68,16 @@ public class Zenodo {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public static final Zenodo get() {
|
public static final Zenodo get() throws ConfigurationException {
|
||||||
// READ FROM IS
|
String eprCategory=LocalConfiguration.getProperty(Configuration.ZENODO_ENDPOINT_CATEGORY);
|
||||||
throw new RuntimeException("IMPLEMENT THIS");
|
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.common.authorization.library.provider.SecurityTokenProvider;
|
||||||
import org.gcube.data.publishing.ckan2zenodo.clients.GCat;
|
import org.gcube.data.publishing.ckan2zenodo.clients.GCat;
|
||||||
import org.gcube.data.publishing.ckan2zenodo.model.CkanItemDescriptor;
|
import org.gcube.data.publishing.ckan2zenodo.model.CkanItemDescriptor;
|
||||||
import org.junit.Before;
|
import org.gcube.gcat.client.Item;
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
|
|
||||||
public class GCatTests {
|
public class GCatTests {
|
||||||
|
@ -21,4 +21,15 @@ public class GCatTests {
|
||||||
System.out.println(item.getProfile());
|
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