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.
The methods getCoverageOfferings(ILcdRequest)
and 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 getUserPrincipal
or
isUserInRole
methods. Use the following exception codes for handling
access control:
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.
- Since:
- 2017.0
-
Method Summary
Modifier and TypeMethodDescriptiongetCoverageOfferings
(ILcdRequest aRequest) Returns the list ofILcdCoverageOffering
s that contain a description of the coverages available from this server.getCoverageOfferings
(List<String> aCoverageNames, ILcdRequest aRequest) Returns the list ofILcdCoverageOffering
s with coverage names that correspond to the given coverage names.getServiceIdentification
(ILcdRequest aRequest) Returns theTLcdOWSServiceIdentification
which contains metadata about this specific server.getServiceProvider
(ILcdRequest aRequest) Returns theTLcdOWSServiceProvider
which contains metadata about the organization operating this server.default String
getUpdateSequence
(ILcdRequest aRequest) Returns the update sequence of the WCS service.
-
Method Details
-
getCoverageOfferings
List<ILcdCoverageOffering> getCoverageOfferings(ILcdRequest aRequest) throws TLcdWCSServiceException Returns the list ofILcdCoverageOffering
s that contain a description of the coverages available from this server.- Parameters:
aRequest
- TheILcdRequest
- Returns:
- all the coverage offerings from this server.
- Throws:
TLcdWCSServiceException
- when the coverage offerings couldn't be created.
-
getCoverageOfferings
List<ILcdCoverageOffering> getCoverageOfferings(List<String> aCoverageNames, ILcdRequest aRequest) throws TLcdWCSServiceException Returns the list ofILcdCoverageOffering
s with coverage names that correspond to the given coverage names.- Parameters:
aCoverageNames
- The coverage namesaRequest
- TheILcdRequest
- Returns:
- the coverage offerings for the given coverage names.
- Throws:
TLcdWCSServiceException
- when the coverage offerings couldn't be created.
-
getServiceIdentification
TLcdOWSServiceIdentification getServiceIdentification(ILcdRequest aRequest) throws TLcdWCSServiceException Returns theTLcdOWSServiceIdentification
which contains metadata about this specific server.- Parameters:
aRequest
- TheILcdRequest
- Returns:
- the service identification
- Throws:
TLcdWCSServiceException
- when the service identification cannot be created.
-
getServiceProvider
Returns theTLcdOWSServiceProvider
which contains metadata about the organization operating this server.- Parameters:
aRequest
- TheILcdRequest
- Returns:
- the service provider
- Throws:
TLcdWCSServiceException
- when the service provider cannot be created.
-
getUpdateSequence
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 capabilities.- Parameters:
aRequest
- the user request- Returns:
- the update sequence
- Throws:
TLcdWCSServiceException
- when a problem is encountered when retrieving the update sequence- Since:
- 2017.1
-