use of org.polymap.core.data.pipeline.PipelineProcessorSite.Params in project polymap4-core by Polymap4.
the class PipelineBuilderTest method testBufferDataSourceAutoWire.
@Test
public void testBufferDataSourceAutoWire() throws PipelineBuilderException {
AutoWirePipelineBuilder builder = new AutoWirePipelineBuilder(DataSourceProcessor.class);
Params storeCacheProcessorParams = new Params();
StoreCacheProcessor.SYNC_TYPE.set(storeCacheProcessorParams, NoSyncStrategy.class.getSimpleName());
Pipeline pipeline = builder.createPipeline("test", FeaturesProducer.class, dsd, asList(new ProcessorDescriptor(StoreCacheProcessor.class, storeCacheProcessorParams)));
assertEquals(2, pipeline.length());
assertEquals(StoreCacheProcessor.class, pipeline.get(0).processorType());
assertEquals(DataSourceProcessor.class, pipeline.getLast().processorType());
}
use of org.polymap.core.data.pipeline.PipelineProcessorSite.Params in project polymap4-core by Polymap4.
the class P4DataStoreInfo method canHandle.
/**
* Returns a newly created {@link P4DataStoreInfo}, or null if the layer is not
* connected to a {@link FeatureStore}.
*
* @throws Exception
*/
public static P4DataStoreInfo canHandle(Catalog catalog, ILayer layer) throws Exception {
GeoServerServlet server = GeoServerServlet.instance.get();
Optional<Pipeline> pipeline = server.getOrCreatePipeline(layer, FeaturesProducer.class);
if (pipeline.isPresent()) {
PipelineFeatureSource fs = new PipelineDataStore(pipeline.get()).getFeatureSource();
// check with P4FeatureTypeInfo
Name name = new NameImpl(GeoServerUtils.defaultNsInfo.get().getName(), GeoServerUtils.simpleName(layer.label.get()));
Params params = new Params();
FeatureRenameProcessor.NAME.rawput(params, name);
PipelineProcessorSite procSite = new PipelineProcessorSite(params);
ProcessorDescriptor proc = new ProcessorDescriptor(FeatureRenameProcessor.class, params);
proc.processor().init(procSite);
fs.pipeline().addFirst(proc);
return new P4DataStoreInfo(catalog, layer, fs);
} else {
return null;
}
}
Aggregations