Search in sources :

Example 1 with DatasetImporter

use of org.eol.globi.data.DatasetImporter in project eol-globi-data by jhpoelen.

the class StudyImporterFactoryImpl method createImporter.

public static DatasetImporter createImporter(Dataset dataset, final NodeFactory nodeFactory) throws StudyImporterException {
    Class<? extends DatasetImporter> anImporter = findImporterFor(dataset);
    try {
        Constructor<? extends DatasetImporter> constructor = anImporter.getConstructor(ParserFactory.class, NodeFactory.class);
        ParserFactoryForDataset parserFactory = new ParserFactoryForDataset(dataset);
        DatasetImporter datasetImporter = constructor.newInstance(parserFactory, new NodeFactoryWithDatasetContext(nodeFactory, dataset));
        datasetImporter.setDataset(dataset);
        return datasetImporter;
    } catch (NoSuchMethodException | IllegalAccessException | InvocationTargetException | InstantiationException e) {
        throw new StudyImporterException("failed to instantiate importer for [" + dataset.getNamespace() + "]", e);
    }
}
Also used : StudyImporterException(org.eol.globi.data.StudyImporterException) ParserFactoryForDataset(org.eol.globi.data.ParserFactoryForDataset) DatasetImporter(org.eol.globi.data.DatasetImporter) NodeFactoryWithDatasetContext(org.eol.globi.data.NodeFactoryWithDatasetContext) InvocationTargetException(java.lang.reflect.InvocationTargetException)

Example 2 with DatasetImporter

use of org.eol.globi.data.DatasetImporter in project eol-globi-data by jhpoelen.

the class DatasetImporterFactoryImplIT method createHurlbert.

@Test
public void createHurlbert() throws StudyImporterException, DatasetRegistryException {
    final DatasetRegistryGitHubRemote datasetFinderGitHubRemote = new DatasetRegistryGitHubRemote(inStream -> inStream);
    DatasetImporter importer = importerFor(datasetFinderGitHubRemote, "hurlbertlab/dietdatabase");
    assertThat(importer, is(notNullValue()));
    assertThat(importer, is(instanceOf(DatasetImporterForHurlbert.class)));
    final JsonNode config = ((BaseDatasetImporter) importer).getDataset().getConfig();
    assertThat(config, is(notNullValue()));
}
Also used : DatasetRegistryGitHubRemote(org.globalbioticinteractions.dataset.DatasetRegistryGitHubRemote) JsonNode(com.fasterxml.jackson.databind.JsonNode) BaseDatasetImporter(org.eol.globi.data.BaseDatasetImporter) DatasetImporter(org.eol.globi.data.DatasetImporter) Test(org.junit.Test)

Example 3 with DatasetImporter

use of org.eol.globi.data.DatasetImporter in project eol-globi-data by jhpoelen.

the class DatasetImporterFactoryImplIT method createMetaTable.

@Test
public void createMetaTable() throws DatasetRegistryException, StudyImporterException {
    final DatasetRegistryGitHubRemote datasetFinderGitHubRemote = new DatasetRegistryGitHubRemote(inStream -> inStream);
    DatasetImporter importer = importerFor(datasetFinderGitHubRemote, "globalbioticinteractions/AfricaTreeDatabase");
    assertThat(importer, is(notNullValue()));
    assertThat(importer, is(instanceOf(DatasetImporterForMetaTable.class)));
    assertThat(((DatasetImporterForMetaTable) importer).getConfig(), is(notNullValue()));
    assertThat(((DatasetImporterForMetaTable) importer).getBaseUrl(), startsWith("https://raw.githubusercontent.com/globalbioticinteractions/AfricaTreeDatabase/"));
}
Also used : DatasetRegistryGitHubRemote(org.globalbioticinteractions.dataset.DatasetRegistryGitHubRemote) BaseDatasetImporter(org.eol.globi.data.BaseDatasetImporter) DatasetImporter(org.eol.globi.data.DatasetImporter) Test(org.junit.Test)

Example 4 with DatasetImporter

use of org.eol.globi.data.DatasetImporter in project eol-globi-data by jhpoelen.

the class DatasetImporterFactoryImplIT method createPlanque.

@Test
public void createPlanque() throws StudyImporterException, DatasetRegistryException, IOException {
    final DatasetRegistryGitHubRemote datasetFinderGitHubRemote = new DatasetRegistryGitHubRemote(inStream -> inStream);
    DatasetImporter importer = importerFor(datasetFinderGitHubRemote, "globalbioticinteractions/planque2014");
    assertThat(importer, is(notNullValue()));
    assertThat(importer, is(instanceOf(DatasetImporterForPlanque.class)));
    DatasetImporterForPlanque importerz = (DatasetImporterForPlanque) importer;
    assertThat(importerz.getSourceCitation(), containsString("Planque"));
}
Also used : DatasetRegistryGitHubRemote(org.globalbioticinteractions.dataset.DatasetRegistryGitHubRemote) BaseDatasetImporter(org.eol.globi.data.BaseDatasetImporter) DatasetImporter(org.eol.globi.data.DatasetImporter) DatasetImporterForPlanque(org.eol.globi.data.DatasetImporterForPlanque) Test(org.junit.Test)

Example 5 with DatasetImporter

use of org.eol.globi.data.DatasetImporter in project eol-globi-data by jhpoelen.

the class DatasetImporterFactoryImplIT method jsonldImporterCached.

@Test
public void jsonldImporterCached() throws StudyImporterException, DatasetRegistryException {
    final DatasetRegistry datasetRegistry = new DatasetRegistryWithCache(new DatasetRegistryGitHubArchive(inStream -> inStream), dataset -> CacheUtil.cacheFor(dataset.getNamespace(), "target/datasets", inStream -> inStream));
    Dataset dataset = new DatasetFactory(datasetRegistry).datasetFor("globalbioticinteractions/jsonld-template-dataset");
    DatasetImporter importer = new StudyImporterFactoryImpl(null).createImporter(dataset);
    assertThat(importer, is(notNullValue()));
    assertThat(importer, is(instanceOf(DatasetImporterForJSONLD.class)));
}
Also used : CacheUtil(org.globalbioticinteractions.cache.CacheUtil) DatasetImporterForGoMexSI2(org.eol.globi.data.DatasetImporterForGoMexSI2) DatasetRegistryGitHubRemote(org.globalbioticinteractions.dataset.DatasetRegistryGitHubRemote) IsInstanceOf.instanceOf(org.hamcrest.core.IsInstanceOf.instanceOf) DatasetImporterForHurlbert(org.eol.globi.data.DatasetImporterForHurlbert) DatasetConstant(org.globalbioticinteractions.dataset.DatasetConstant) DatasetImporterForMetaTable(org.eol.globi.data.DatasetImporterForMetaTable) DatasetImporterForHafner(org.eol.globi.data.DatasetImporterForHafner) DatasetImporterForSzoboszlai(org.eol.globi.data.DatasetImporterForSzoboszlai) StudyImporterException(org.eol.globi.data.StudyImporterException) BaseDatasetImporter(org.eol.globi.data.BaseDatasetImporter) Is.is(org.hamcrest.core.Is.is) JsonNode(com.fasterxml.jackson.databind.JsonNode) DatasetImporter(org.eol.globi.data.DatasetImporter) DatasetImporterForJSONLD(org.eol.globi.data.DatasetImporterForJSONLD) URI(java.net.URI) MatcherAssert.assertThat(org.hamcrest.MatcherAssert.assertThat) StringStartsWith.startsWith(org.hamcrest.core.StringStartsWith.startsWith) DatasetRegistry(org.globalbioticinteractions.dataset.DatasetRegistry) DatasetRegistryZenodo(org.globalbioticinteractions.dataset.DatasetRegistryZenodo) DatasetRegistryException(org.globalbioticinteractions.dataset.DatasetRegistryException) Assert.assertNotNull(org.junit.Assert.assertNotNull) Test(org.junit.Test) IOException(java.io.IOException) DatasetImporterForCoetzer(org.eol.globi.data.DatasetImporterForCoetzer) DatasetRegistryGitHubArchive(org.globalbioticinteractions.dataset.DatasetRegistryGitHubArchive) DatasetImporterForPlanque(org.eol.globi.data.DatasetImporterForPlanque) DatasetImporterForTSV(org.eol.globi.data.DatasetImporterForTSV) DatasetFactory(org.globalbioticinteractions.dataset.DatasetFactory) Dataset(org.globalbioticinteractions.dataset.Dataset) DatasetImporterForRSS(org.eol.globi.data.DatasetImporterForRSS) IsNull.notNullValue(org.hamcrest.core.IsNull.notNullValue) DatasetImporterForWood(org.eol.globi.data.DatasetImporterForWood) DatasetRegistryWithCache(org.globalbioticinteractions.dataset.DatasetRegistryWithCache) Matchers.containsString(org.hamcrest.Matchers.containsString) InputStream(java.io.InputStream) Dataset(org.globalbioticinteractions.dataset.Dataset) DatasetRegistry(org.globalbioticinteractions.dataset.DatasetRegistry) DatasetRegistryWithCache(org.globalbioticinteractions.dataset.DatasetRegistryWithCache) BaseDatasetImporter(org.eol.globi.data.BaseDatasetImporter) DatasetImporter(org.eol.globi.data.DatasetImporter) DatasetFactory(org.globalbioticinteractions.dataset.DatasetFactory) DatasetRegistryGitHubArchive(org.globalbioticinteractions.dataset.DatasetRegistryGitHubArchive) Test(org.junit.Test)

Aggregations

DatasetImporter (org.eol.globi.data.DatasetImporter)21 BaseDatasetImporter (org.eol.globi.data.BaseDatasetImporter)16 Test (org.junit.Test)16 DatasetRegistryGitHubRemote (org.globalbioticinteractions.dataset.DatasetRegistryGitHubRemote)15 JsonNode (com.fasterxml.jackson.databind.JsonNode)6 Dataset (org.globalbioticinteractions.dataset.Dataset)6 StudyImporterException (org.eol.globi.data.StudyImporterException)5 DatasetFactory (org.globalbioticinteractions.dataset.DatasetFactory)5 DatasetRegistry (org.globalbioticinteractions.dataset.DatasetRegistry)5 InputStream (java.io.InputStream)4 URI (java.net.URI)4 DatasetImporterForCoetzer (org.eol.globi.data.DatasetImporterForCoetzer)4 DatasetImporterForGoMexSI2 (org.eol.globi.data.DatasetImporterForGoMexSI2)4 DatasetImporterForHafner (org.eol.globi.data.DatasetImporterForHafner)4 DatasetImporterForMetaTable (org.eol.globi.data.DatasetImporterForMetaTable)4 DatasetImporterForPlanque (org.eol.globi.data.DatasetImporterForPlanque)4 DatasetImporterForSzoboszlai (org.eol.globi.data.DatasetImporterForSzoboszlai)4 DatasetImporterForTSV (org.eol.globi.data.DatasetImporterForTSV)4 DatasetImporterForWood (org.eol.globi.data.DatasetImporterForWood)4 MatcherAssert.assertThat (org.hamcrest.MatcherAssert.assertThat)4