Search in sources :

Example 1 with Params

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());
}
Also used : Params(org.polymap.core.data.pipeline.PipelineProcessorSite.Params) NoSyncStrategy(org.polymap.core.data.feature.storecache.NoSyncStrategy) Test(org.junit.Test)

Example 2 with Params

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;
    }
}
Also used : NameImpl(org.geotools.feature.NameImpl) PipelineProcessorSite(org.polymap.core.data.pipeline.PipelineProcessorSite) PipelineFeatureSource(org.polymap.core.data.PipelineFeatureSource) GeoServerServlet(org.polymap.service.geoserver.GeoServerServlet) Params(org.polymap.core.data.pipeline.PipelineProcessorSite.Params) ProcessorDescriptor(org.polymap.core.data.pipeline.ProcessorDescriptor) Pipeline(org.polymap.core.data.pipeline.Pipeline) PipelineDataStore(org.polymap.core.data.PipelineDataStore) Name(org.opengis.feature.type.Name)

Aggregations

Params (org.polymap.core.data.pipeline.PipelineProcessorSite.Params)2 NameImpl (org.geotools.feature.NameImpl)1 Test (org.junit.Test)1 Name (org.opengis.feature.type.Name)1 PipelineDataStore (org.polymap.core.data.PipelineDataStore)1 PipelineFeatureSource (org.polymap.core.data.PipelineFeatureSource)1 NoSyncStrategy (org.polymap.core.data.feature.storecache.NoSyncStrategy)1 Pipeline (org.polymap.core.data.pipeline.Pipeline)1 PipelineProcessorSite (org.polymap.core.data.pipeline.PipelineProcessorSite)1 ProcessorDescriptor (org.polymap.core.data.pipeline.ProcessorDescriptor)1 GeoServerServlet (org.polymap.service.geoserver.GeoServerServlet)1