Fixes #22228
This commit is contained in:
parent
191b69d0ce
commit
3d3034fa4e
|
@ -9,6 +9,7 @@ import org.gcube.data.publishing.ckan2zenodo.commons.IS;
|
||||||
import org.gcube.data.publishing.ckan2zenodo.model.faults.ConfigurationException;
|
import org.gcube.data.publishing.ckan2zenodo.model.faults.ConfigurationException;
|
||||||
|
|
||||||
import lombok.Synchronized;
|
import lombok.Synchronized;
|
||||||
|
import org.gcube.data.publishing.ckan2zenodo.model.parsing.Mappings;
|
||||||
|
|
||||||
|
|
||||||
public class TransformerManager {
|
public class TransformerManager {
|
||||||
|
@ -28,8 +29,11 @@ public class TransformerManager {
|
||||||
|
|
||||||
public Translator getByProfile(String profile) throws ConfigurationException {
|
public Translator getByProfile(String profile) throws ConfigurationException {
|
||||||
for(GenericResource r: IS.queryForGenericResources("Ckan-Zenodo-Mappings")){
|
for(GenericResource r: IS.queryForGenericResources("Ckan-Zenodo-Mappings")){
|
||||||
if (r.profile().name().equals(profile))
|
if (r.profile().name().equals(profile)) {
|
||||||
return new Translator(IS.readMappings(r));
|
Mappings m = IS.readMappings(r);
|
||||||
|
if(m == null) return new Translator();
|
||||||
|
else return new Translator(m);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
throw new ConfigurationException("No specific mapping for the catalogue item has been configured. "
|
throw new ConfigurationException("No specific mapping for the catalogue item has been configured. "
|
||||||
+ "By continuing with the upload some metadata might not be upload to Zenodo.");
|
+ "By continuing with the upload some metadata might not be upload to Zenodo.");
|
||||||
|
|
|
@ -5,6 +5,7 @@ import static org.gcube.resources.discovery.icclient.ICFactory.queryFor;
|
||||||
|
|
||||||
import java.io.StringReader;
|
import java.io.StringReader;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
import java.util.Collections;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import javax.xml.bind.JAXBContext;
|
import javax.xml.bind.JAXBContext;
|
||||||
|
@ -17,6 +18,7 @@ import org.gcube.common.resources.gcore.ServiceEndpoint;
|
||||||
import org.gcube.data.publishing.ckan2zenodo.model.faults.ConfigurationException;
|
import org.gcube.data.publishing.ckan2zenodo.model.faults.ConfigurationException;
|
||||||
import org.gcube.data.publishing.ckan2zenodo.model.parsing.Mapping;
|
import org.gcube.data.publishing.ckan2zenodo.model.parsing.Mapping;
|
||||||
import org.gcube.data.publishing.ckan2zenodo.model.parsing.Mappings;
|
import org.gcube.data.publishing.ckan2zenodo.model.parsing.Mappings;
|
||||||
|
import org.gcube.data.publishing.ckan2zenodo.model.parsing.ResourceFilter;
|
||||||
import org.gcube.resources.discovery.client.api.DiscoveryClient;
|
import org.gcube.resources.discovery.client.api.DiscoveryClient;
|
||||||
import org.gcube.resources.discovery.client.queries.api.SimpleQuery;
|
import org.gcube.resources.discovery.client.queries.api.SimpleQuery;
|
||||||
|
|
||||||
|
@ -60,9 +62,10 @@ public class IS {
|
||||||
Unmarshaller um=JAXBContext.newInstance(Mappings.class).createUnmarshaller();
|
Unmarshaller um=JAXBContext.newInstance(Mappings.class).createUnmarshaller();
|
||||||
|
|
||||||
|
|
||||||
return (Mappings) um.unmarshal(new StreamSource(new StringReader(body)));
|
Mappings m= (Mappings) um.unmarshal(new StreamSource(new StringReader(body)));
|
||||||
|
if(m.getMappings()==null) m.setMappings(Collections.emptyList());
|
||||||
|
if(m.getResourceFilters()==null||m.getResourceFilters().getFilters().isEmpty()) m.setResourceFilters(ResourceFilter.PASS_ALL);
|
||||||
|
return m;
|
||||||
}catch(Throwable t) {
|
}catch(Throwable t) {
|
||||||
log.debug("Error while parsing mapping from resource "+res.id()+" name : "+res.profile().name(),t);
|
log.debug("Error while parsing mapping from resource "+res.id()+" name : "+res.profile().name(),t);
|
||||||
throw new ConfigurationException("Invaild mapping resource "+res.id()+" name : "+res.profile().name(),t);
|
throw new ConfigurationException("Invaild mapping resource "+res.id()+" name : "+res.profile().name(),t);
|
||||||
|
|
|
@ -2,12 +2,15 @@ package org.gcube.tests;
|
||||||
|
|
||||||
import org.gcube.data.publishing.ckan2zenodo.Ckan2Zenodo;
|
import org.gcube.data.publishing.ckan2zenodo.Ckan2Zenodo;
|
||||||
import org.gcube.data.publishing.ckan2zenodo.Ckan2ZenodoImpl;
|
import org.gcube.data.publishing.ckan2zenodo.Ckan2ZenodoImpl;
|
||||||
|
import org.gcube.data.publishing.ckan2zenodo.model.faults.*;
|
||||||
import org.gcube.data.publishing.ckan2zenodo.model.report.EnvironmentReport;
|
import org.gcube.data.publishing.ckan2zenodo.model.report.EnvironmentReport;
|
||||||
import org.junit.Assume;
|
import org.junit.Assume;
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
|
|
||||||
public class EnvironmentCheckTests {
|
public class EnvironmentCheckTests {
|
||||||
|
|
||||||
|
String context="/pred4s/preprod/preVRE";
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void failCheckEnvironemnt(){
|
public void failCheckEnvironemnt(){
|
||||||
TokenSetter.set("/gcube");
|
TokenSetter.set("/gcube");
|
||||||
|
@ -19,10 +22,21 @@ public class EnvironmentCheckTests {
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void okCheckEnvironemnt(){
|
public void okCheckEnvironemnt(){
|
||||||
TokenSetter.set("/pred4s/preprod/preVRE");
|
TokenSetter.set(context);
|
||||||
Ckan2Zenodo client=new Ckan2ZenodoImpl();
|
Ckan2Zenodo client=new Ckan2ZenodoImpl();
|
||||||
EnvironmentReport report=client.checkEnvironment();
|
EnvironmentReport report=client.checkEnvironment();
|
||||||
Assume.assumeTrue(report.isok());
|
Assume.assumeTrue(report.isok());
|
||||||
System.out.println(report);
|
System.out.println(report);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void checkMappings() throws GcatException, TransformationException, ConfigurationException, InvalidItemException, ZenodoException {
|
||||||
|
TokenSetter.set(context);
|
||||||
|
Ckan2Zenodo client=new Ckan2ZenodoImpl();
|
||||||
|
|
||||||
|
client.translate(client.read("knime_workflow_with_joined_consumer_phase_and_dose_response_model"));
|
||||||
|
// client.translate(client.read("lwr_in_prevre"));
|
||||||
|
client.translate(client.read("xyextractor_in_prevre"));
|
||||||
|
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue