Class ALcdCSWCapabilitiesProvider

java.lang.Object
com.luciad.ogc.csw.server.ALcdCSWCapabilitiesProvider
All Implemented Interfaces:
ILcdCSWCapabilitiesProvider

public abstract class ALcdCSWCapabilitiesProvider extends Object implements ILcdCSWCapabilitiesProvider
Adds default values to ILcdCSWCapabilitiesProvider. More specifically it adds:
  • all supported versions (2.0.2 and 3.0)
  • all supported properties for CSW and ISO records
  • all supported filter capabilities, based on TLcdOGCFilterEvaluator.getFilterCapabilities()
  • default OpenSearch templates for all output record types
Since:
2017.0
  • Constructor Details

    • ALcdCSWCapabilitiesProvider

      public ALcdCSWCapabilitiesProvider()
      Configures a default CSW server, supporting Dublin Core records and versions 2.0.2 and 3.0.0. More specifically, it adds:
      • all supported versions (2.0.2 and 3.0)
      • all supported properties for CSW (Dublin Core) records
      • all supported filter capabilities, based on TLcdOGCFilterEvaluator.getFilterCapabilities()
      • default OpenSearch templates for all output record types
    • ALcdCSWCapabilitiesProvider

      public ALcdCSWCapabilitiesProvider(List<ILcdCSWProfile> aProfiles)
      Configures a CSW server with the given profiles.
      Parameters:
      aProfiles - the profiles to support
      Since:
      2017.1
  • Method Details

    • getSupportedVersions

      public List<String> getSupportedVersions()
      Returns the CSW versions that will be advertised by the server. The first version of the returned list is the default one. This implementation returns the versions supported by default.
      Specified by:
      getSupportedVersions in interface ILcdCSWCapabilitiesProvider
      Returns:
      the default and fallback versions of the supported catalogue standard
    • getOpenSearchTemplates

      public List<TLcdCSWOpenSearchTemplate> getOpenSearchTemplates(ILcdRequest aRequest)
      Creates a list of templates for OpenSearch queries. This list is used to construct the OpenSearch description document exposed in the capabilities.

      By default this method returns a template for each supported output format, containing all supported parameters.

      Override this method to customize the various templates of the OpenSearch request.

      Specified by:
      getOpenSearchTemplates in interface ILcdCSWCapabilitiesProvider
      Parameters:
      aRequest - the request triggering the call
      Returns:
      A list of OpenSearch templates
    • getFilterCapabilities

      public TLcdOGCFilterCapabilities getFilterCapabilities(ILcdRequest aRequest)
      Returns the OGC filter capabilities supported by this handler.
      Specified by:
      getFilterCapabilities in interface ILcdCSWCapabilitiesProvider
      Parameters:
      aRequest - the request triggering the call
      Returns:
      the filter capabilities
      Since:
      2017.1
    • getOutputRecordTypes

      public List<TLcdCSWRecordType> getOutputRecordTypes(ILcdRequest aRequest)
      Returns a description of all the output formats (e.g. CSW Dublin Core, ISO Metadata, ATOM Feeds, ...) the query handler can use to construct the result of a given query. For 2.0.2 compliancy, this list should at least contain TLcdCSWRecordType.CSW_202. For 3.0.0 compliancy, this list should at least contain TLcdCSWRecordType.CSW_300 and TLcdCSWRecordType.ATOM.

      This implementation returns descriptors for CSW Dublin Core, ISO Metadata, and ATOM Feeds.

      Specified by:
      getOutputRecordTypes in interface ILcdCSWCapabilitiesProvider
      Parameters:
      aRequest - the request triggering the call
      Returns:
      the descriptors for all the output types the query handler can use to construct the result to a given query.
      Since:
      2017.1
    • getInputRecordTypes

      public List<TLcdCSWRecordType> getInputRecordTypes(ILcdRequest aRequest)
      Returns a description of all data records that can be queried. For 2.0.2 compliancy, this list should at least contain TLcdCSWRecordType.CSW_202. For 3.0.0 compliancy, this list should at least contain TLcdCSWRecordType.CSW_300. See TLcdCSWQuery.getTypeNames() for how to specify the input record type in a query. See ILcdCSWCapabilitiesProvider.getInputRecordProperties(com.luciad.ogc.common.ILcdRequest, com.luciad.ogc.csw.record.TLcdCSWRecordType) for the specific properties that are supported.

      This implementation returns descriptors for CSW Dublin Core and ISO Metadata.

      Specified by:
      getInputRecordTypes in interface ILcdCSWCapabilitiesProvider
      Parameters:
      aRequest - the request triggering the call
      Returns:
      the descriptors for all data records that can be queried.
      Since:
      2017.1
    • getInputRecordProperties

      public List<QName> getInputRecordProperties(ILcdRequest aRequest, TLcdCSWRecordType aInputFormat)
      Returns the names of the properties (e.g. dc:title, apiso:Creator, ...) this query handler can handle in record query filters. This information is used by the server when advertising capabilities. The key of the map is the name of the constraint to advertise (e.g. CoreQueryables).
      Specified by:
      getInputRecordProperties in interface ILcdCSWCapabilitiesProvider
      Parameters:
      aRequest - the request triggering the call
      aInputFormat - the input format for which to return the properties
      Returns:
      the queryable properties supported by this handler
      Since:
      2017.1
    • getOutputRecordProperties

      public List<QName> getOutputRecordProperties(ILcdRequest aRequest, TLcdCSWRecordType aOutputFormat)
      Returns the names of the properties (e.g. dc:title, apiso:Creator, ...) this query handler can include for the given record format when constructing a query result. This information is used by the server to validate queries. See TLcdCSWQuery.getElements() for how to specify output properties in record queries.
      Specified by:
      getOutputRecordProperties in interface ILcdCSWCapabilitiesProvider
      Parameters:
      aRequest - the request triggering the call
      aOutputFormat - the output format for which to return the properties
      Returns:
      the returnable properties supported by this handler
      Since:
      2017.1
    • getExtendedCapabilities

      public Object getExtendedCapabilities(ILcdRequest aRequest)
      Description copied from interface: ILcdCSWCapabilitiesProvider
      Returns extended operations metadata capabilities, if any. Individual software vendors and servers can use this element to provide metadata about any additional server abilities.
      Specified by:
      getExtendedCapabilities in interface ILcdCSWCapabilitiesProvider
      Returns:
      an Object describing additional server abilities, or null
      See Also:
      • ALcdOWSOperationsMetadata.getExtendedCapabilities()