Class ALcdOGCWCSCommandDispatcherFactory

java.lang.Object
com.luciad.ogc.wcs.ALcdOGCWCSCommandDispatcherFactory
All Implemented Interfaces:
ILcdOGCCommandDispatcherFactory

public abstract class ALcdOGCWCSCommandDispatcherFactory extends Object implements ILcdOGCCommandDispatcherFactory
This factory class creates a command dispatcher following the OGC WCS specification.

Supported OGC WCS operations

The command dispatcher provides support for the OGC WCS operations:
  • GetCapabilities: provides information about the server (metadata, supported operations and versions ...) as well as the data sets (coverages) that are available.
  • GetCoverage: returns a raster for a requested coverage.
  • DescribeCoverage: returns more details on underlying data for a requested coverage.

Factory methods to implement

A number of protected 'create' methods of this class can be overridden to customize the behaviour of the WCS server, the most important being createWCSCapabilitiesProvider. The methods createModelDecoderFactory and createModelProvider already have sensible default implementations.

Note that since version 2017.0 the method createWCSCapabilitiesProvider replaces the deprecated methods createCoverageOfferingList and createServiceMetaData. So, when createWCSCapabilitiesProvider is implemented, the two deprecated methods are ignored.

A concrete implementation of this class is referenced from the web servlet configuration file, so it can be instantiated when the web server starts up. This will then cause the createCommandDispatcher method to be called, which will in turn call all protected factory methods of this class to construct the instances which are required by the request handlers. The final server initialization step is to create a request handler for each WCS request using the createRequestHandler method. These handlers can then be registered on the TLcdWCSCommandDispatcher instance that is created by the createWCSCommandDispatcherInstance factory method.

Performance for client applications using tiled requests

This factory uses a tile cache to improve the performance of subsequent tiled WCS GetCoverage requests. This tile cache is not used for regular GetCoverage requests. It is a two-tier cache that uses an in-memory buffer with a (non-persistent) disk overflow. The cache is configured as part of the servlet context, which means that it can be reused across multiple servlet instances when in the same process. It can be configured by using the following servlet context parameters (context-param in web.xml).

  • memory-cache-size: The memory tile cache size in MB. Default is 10% of the max heap size. Can be 0.
  • disk-cache-size: The disk tile cache size in MB. Default is "memory-cache-size x 100". Can be 0.
  • disk-cache-path: The disk tile cache path. Also supports paths starting with "${java.io.tmpdir}" or "${user.home}". Default is "${java.io.tmpdir}/ogc"

The tile cache can be disabled by setting both the memory-cache-size and disk-cache-size parameters to 0. By default, the tile cache is enabled.

  • Constructor Details

    • ALcdOGCWCSCommandDispatcherFactory

      public ALcdOGCWCSCommandDispatcherFactory()
  • Method Details