public interface ILcdWCSCapabilitiesProvider
Provides the WCS capabilities, or parts of it. The capabilities describe what this server has to offer, that is, which coverage offerings it has. This is a core extension point when implementing your own server. Alternatively, you can use the Fusion Platform, where the capabilities are configured through the Studio web application.
As the capabilities are retrieved for every request, it for example allows to easily add or remove coverage offerings without having to restart the server. Furthermore, the request that is being handled is provided as a parameter, which allows for tailor-made capabilities based on that information. It could for example be used to implement access control: grant certain users access to more coverage offerings than others (see below).
As this interface is called for every request, the implementation must be fast and efficient. It could for example apply caching, to avoid any work if no changes to the capabilities are needed. The simplest implementation would ignore the provided request parameter and always provide the same coverage offerings.
getCoverageOfferings(List, ILcdRequest) allow
to differentiate access to coverages based on the user's authorization information. The user's authorization
information can be extracted from the request using the
isUserInRole methods. Use the following exception codes for handling
NOT_AUTHORIZED: to indicate the user has requested a coverage he does not have access to.
AUTHENTICATION_REQUIRED: to indicate the user has request a coverage for which authentication is required but no authentication has been provided yet.
The resulting exception is translated in a proper response to the client application.
|Modifier and Type||Method and Description|
Returns the list of
Returns the list of
Returns the update sequence of the WCS service.
List<ILcdCoverageOffering> getCoverageOfferings(ILcdRequest aRequest) throws TLcdWCSServiceException
ILcdCoverageOfferings that contain a description of the coverages available from this server.
List<ILcdCoverageOffering> getCoverageOfferings(List<String> aCoverageNames, ILcdRequest aRequest) throws TLcdWCSServiceException
ILcdCoverageOfferings with coverage names that correspond to the given coverage names.
TLcdOWSServiceIdentification getServiceIdentification(ILcdRequest aRequest) throws TLcdWCSServiceException
TLcdOWSServiceIdentificationwhich contains metadata about this specific server.
TLcdOWSServiceProvider getServiceProvider(ILcdRequest aRequest) throws TLcdWCSServiceException
TLcdOWSServiceProviderwhich contains metadata about the organization operating this server.
default String getUpdateSequence(ILcdRequest aRequest) throws TLcdWCSServiceException
Returns the update sequence of the WCS service. This method is used for the GetCapabilities request.
By default, this method returns
null, which means that no updateSequence will be published in the
aRequest- the user request
TLcdWCSServiceException- when a problem is encountered when retrieving the update sequence