package org.gcube.data.publishing.gCatFeeder.service.mockups; import java.util.Arrays; import java.util.Collection; import java.util.HashSet; import java.util.Set; import org.gcube.data.publishing.gCatFeeder.model.CatalogueFormatData; import org.gcube.data.publishing.gCatFeeder.model.CatalogueInstanceDescriptor; import org.gcube.data.publishing.gCatFeeder.model.ControllerConfiguration; import org.gcube.data.publishing.gCatFeeder.model.EnvironmentConfiguration; import org.gcube.data.publishing.gCatFeeder.service.TestCommon; import org.gcube.data.publishing.gCatfeeder.collectors.CatalogueRetriever; import org.gcube.data.publishing.gCatfeeder.collectors.CollectorPlugin; import org.gcube.data.publishing.gCatfeeder.collectors.DataCollector; import org.gcube.data.publishing.gCatfeeder.collectors.DataTransformer; import org.gcube.data.publishing.gCatfeeder.collectors.model.PluginDescriptor; import org.gcube.data.publishing.gCatfeeder.collectors.model.faults.CatalogueInstanceNotFound; import org.gcube.data.publishing.gCatfeeder.collectors.model.faults.CatalogueNotSupportedException; import org.gcube.data.publishing.gCatfeeder.collectors.model.faults.CollectorFault; import org.slf4j.Logger; import org.slf4j.LoggerFactory; public class FakeCollectorPlugin implements CollectorPlugin { private static final Logger log= LoggerFactory.getLogger(FakeCollectorPlugin.class); private static final int NUM_ITEMS=10; @Override public PluginDescriptor getDescriptor() { return new PluginDescriptor(TestCommon.FAKE_COLLECTOR_NAME); } @Override public CatalogueRetriever getRetrieverByCatalogueType(String catalogueType) throws CatalogueNotSupportedException { switch(catalogueType) { case TestCommon.UNAVAILABLE_CATALOGUE : case TestCommon.FAKE_CATALOGUE_ID : return new CatalogueRetriever() { @Override public CatalogueInstanceDescriptor getInstance() throws CatalogueInstanceNotFound { // TODO Auto-generated method stub return null; } }; default : throw new CatalogueNotSupportedException(catalogueType+" not supported by "+TestCommon.FAKE_COLLECTOR_NAME); } } @Override public Set getSupportedCatalogueTypes() { return new HashSet (Arrays.asList(new String[] { TestCommon.FAKE_CATALOGUE_ID,TestCommon.UNAVAILABLE_CATALOGUE})); } @Override public DataTransformer getTransformerByCatalogueType( String catalogueType) throws CatalogueNotSupportedException { switch(catalogueType) { case TestCommon.UNAVAILABLE_CATALOGUE : case TestCommon.FAKE_CATALOGUE_ID : return new DataTransformer() { @Override public Set transform(Collection collectedData) { return new HashSet<>(collectedData); } }; default : throw new CatalogueNotSupportedException(catalogueType+" not supported by "+TestCommon.FAKE_COLLECTOR_NAME); } } @Override public DataCollector getCollector() { return new DataCollector() { @Override public Set collect() throws CollectorFault { HashSet toReturn=new HashSet<>(); for(int i=0;i