Geomajas Community Documentation

9.2. Configuration

A pipeline can be defined by specifying the pipeline name and the pipeline steps.

<bean class="org.geomajas.service.pipeline.PipelineInfo">
    <property name="pipelineName" value="pipelineTest"/>
    <property name="pipeline">
        <list>
            <bean class="org.geomajas.internal.service.pipeline.Step1">
                <property name="id" value="s1"/>
            </bean>
            <bean class="org.geomajas.internal.service.pipeline.Step2">
                <property name="id" value="s2"/>
            </bean>
            <bean class="org.geomajas.internal.service.pipeline.Step3">
                <property name="id" value="s3"/>
            </bean>
        </list>
    </property>
</bean>

Example 9.1. Simple pipeline definition


A pipeline can be layer specific and can refer to a delegate (bean reference). The use of the delegate means that the pipeline definition (list of steps) is copied from the delegate.

<bean id="inter" class="org.geomajas.service.pipeline.PipelineInfo">
    <property name="pipelineName" value="pipelineTest"/>
    <property name="layerId" value="inter"/>
    <property name="delegatePipeline" ref="stop" />
</bean>

Example 9.2. Layer specific pipeline which refers to a delegate


When referring to the pipeline definition using a delegate, the pipeline can also be extended by inserting additional steps at the extension hooks. You can pass a map of "extensions" which are named steps. When a extension hook of the name is found, that step will be included in the pipeline just after the hook definition.

<bean id="hooked2" class="org.geomajas.service.pipeline.PipelineInfo">
    <property name="pipelineName" value="hookedTest"/>
    <property name="layerId" value="delegate"/>
    <property name="delegatePipeline" ref="hooked" />
    <property name="extensions">
        <map>
            <entry key="PreStep2">
                <bean class="org.geomajas.internal.service.pipeline.Step2">
                    <property name="id" value="ps2"/>
                </bean>
            </entry>
        </map>
    </property>
</bean>

Example 9.3. Extending a delegate pipeline