Class AbstractCswSource
java.lang.Object
ddf.catalog.util.impl.DescribableImpl
ddf.catalog.util.impl.MaskableImpl
org.codice.ddf.spatial.ogc.csw.catalog.common.source.AbstractCswSource
- All Implemented Interfaces:
ddf.catalog.resource.ResourceReader,ddf.catalog.service.ConfiguredService,ddf.catalog.source.ConnectedSource,ddf.catalog.source.FederatedSource,ddf.catalog.source.OAuthFederatedSource,ddf.catalog.source.RemoteSource,ddf.catalog.source.Source,ddf.catalog.util.Describable,ddf.catalog.util.Maskable,org.codice.ddf.platform.services.common.Describable
- Direct Known Subclasses:
AbstractCswStore
public abstract class AbstractCswSource
extends MaskableImpl
implements ddf.catalog.source.OAuthFederatedSource, ddf.catalog.source.ConnectedSource, ddf.catalog.service.ConfiguredService
AbstractCswSource provides a DDF
OAuthFederatedSource and ConnectedSource for CSW
2.0.2 services.-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected static final Stringprotected ScheduledFuture<?> protected net.opengis.cat.csw.v_2_0_2.CapabilitiesTypeprotected static final Stringprotected final org.codice.ddf.cxf.client.ClientBuilderFactoryprotected Stringprotected static final Stringprotected static final Stringprotected static final Stringprotected CswFilterDelegateprotected ddf.catalog.transform.QueryFilterTransformerProviderprotected CswSourceConfigurationprotected com.thoughtworks.xstream.converters.Converterprotected static final Stringstatic final Stringprotected static final Stringprotected org.codice.ddf.cxf.client.SecureCxfClientFactory<Csw> protected ddf.catalog.filter.FilterAdapterprotected ddf.catalog.filter.FilterBuilderprotected Stringprotected static final Stringprotected Stringprotected CswJAXBElementProvider<net.opengis.cat.csw.v_2_0_2.GetRecordsType> protected static final Stringprotected static final Stringprotected static final Stringprotected static final Stringprotected static final Stringprotected static final Stringprotected static final Stringprotected static final Stringprotected static final Stringprotected static final Stringprotected static final Stringprotected static final Stringprotected static final Stringprotected static final Stringprotected static final Stringprotected static final Stringprotected static final Stringprotected ddf.security.service.SecurityManagerprotected static final Stringprotected org.codice.ddf.cxf.client.SecureCxfClientFactory<CswSubscribe> protected static final Stringprotected static final String -
Constructor Summary
ConstructorsConstructorDescriptionAbstractCswSource(ddf.security.encryption.EncryptionService encryptionService, org.codice.ddf.cxf.client.ClientBuilderFactory clientBuilderFactory, org.codice.ddf.security.Security security, ddf.security.permission.Permissions permissions) Instantiates a CswSource.AbstractCswSource(org.osgi.framework.BundleContext context, CswSourceConfiguration cswSourceConfiguration, com.thoughtworks.xstream.converters.Converter provider, org.codice.ddf.cxf.client.ClientBuilderFactory clientBuilderFactory, ddf.security.encryption.EncryptionService encryptionService, org.codice.ddf.security.Security security, ddf.security.permission.Permissions permissions) Instantiates a CswSource. -
Method Summary
Modifier and TypeMethodDescriptionprotected voidaddSourceMonitor(ddf.catalog.source.SourceMonitor sourceMonitor) protected voidavailabilityChanged(boolean isAvailable) voidprotected List<ddf.catalog.data.Result> createResults(CswRecordCollection cswRecordCollection) voiddestroy(int code) Clean-up when shutting down the CswSourceprotected AvailabilityCommandprotected net.opengis.cat.csw.v_2_0_2.CapabilitiesTypeSet<ddf.catalog.data.ContentType> ddf.catalog.transform.QueryFilterTransformerProvidercom.thoughtworks.xstream.converters.ConvertergetId()protected StringgetOptions(ddf.catalog.data.Metacard arg0) net.opengis.ows.v_1_0_0.DomainTypegetParameter(net.opengis.ows.v_1_0_0.Operation operation, String name) ddf.catalog.resource.ResourceReaderprotected ddf.security.SubjectgetTitle()protected Stringprotected StringhandleWebApplicationException(javax.ws.rs.WebApplicationException wae) voidinit()Initializes the CswSource by connecting to the Serverprotected voidinitProviders(com.thoughtworks.xstream.converters.Converter cswTransformProvider, CswSourceConfiguration cswSourceConfiguration) protected voidbooleanbooleanisAvailable(ddf.catalog.source.SourceMonitor sourceMonitor) protected voidprotected org.codice.ddf.spatial.ogc.catalog.MetadataTransformerlookupMetadataTransformer(String transformerId) voidddf.catalog.operation.SourceResponsequery(ddf.catalog.operation.QueryRequest queryRequest) protected ddf.catalog.operation.SourceResponsequery(ddf.catalog.operation.QueryRequest queryRequest, net.opengis.cat.csw.v_2_0_2.ElementSetType elementSetName, List<QName> elementNames, Csw csw) voidReinitializes the CswSource when there is a configuration change.ddf.catalog.operation.ResourceResponseretrieveResource(URI resourceUri, Map<String, Serializable> requestProperties) voidsetAuthenticationType(String authenticationType) voidsetAvailabilityTask(AvailabilityTask availabilityTask) voidsetCertAlias(String certAlias) voidsetConfigurationPid(String configurationPid) voidsetConnectionTimeout(Integer timeout) voidsetContext(org.osgi.framework.BundleContext context) voidsetCoordinateOrder(String coordinateOrder) voidSet the version to CSW 2.0.1.voidsetCswQueryFilterTransformerProvider(ddf.catalog.transform.QueryFilterTransformerProvider cswQueryFilterTransformerProvider) voidsetCswTransformConverter(com.thoughtworks.xstream.converters.Converter provider) voidvoidsetDisableCnCheck(Boolean disableCnCheck) voidsetEventServiceAddress(String eventServiceAddress) voidsetFilterAdapter(ddf.catalog.filter.FilterAdapter filterAdapter) voidsetFilterBuilder(ddf.catalog.filter.FilterBuilder filterBuilder) protected voidsetFilterDelegate(net.opengis.ows.v_1_0_0.Operation getRecordsOp, net.opengis.filter.v_1_1_0.FilterCapabilities filterCapabilities, net.opengis.ows.v_1_0_0.DomainType outputFormatValues, net.opengis.ows.v_1_0_0.DomainType resultTypesValues, CswSourceConfiguration cswSourceConfiguration) Sets theFilterDelegateused by the AbstractCswSource.voidsetForceSpatialFilter(String forceSpatialFilter) voidvoidsetIsCqlForced(Boolean isCqlForced) voidsetKeystorePath(String keystorePath) voidsetMetacardMappings(String[] configuredMappings) voidsetMetacardTypes(List<ddf.catalog.data.MetacardType> types) voidsetOauthClientId(String oauthClientId) voidsetOauthClientSecret(String oauthClientSecret) voidsetOauthDiscoveryUrl(String oauthDiscoveryUrl) voidsetOauthFlow(String oauthFlow) voidsetOutputSchema(String outputSchema) voidsetPassword(String password) voidsetPollInterval(Integer interval) voidsetQueryTypeName(String queryTypeName) voidsetQueryTypeNamespace(String queryTypeNamespace) voidsetReceiveTimeout(Integer timeout) voidsetRegisterForEvents(Boolean registerForEvents) voidsetResourceReader(ddf.catalog.resource.ResourceReader resourceReader) voidsetSecurityManager(ddf.security.service.SecurityManager securityManager) voidsetSslProtocol(String sslProtocol) protected voidvoidsetUsePosList(Boolean usePosList) voidsetUsername(String username) protected ddf.catalog.data.Metacardtransform(ddf.catalog.data.Metacard metacard, org.codice.ddf.spatial.ogc.catalog.MetadataTransformer transformer) Transforms the Metacard created from the CSW Record using the transformer specified by its ID.Methods inherited from class ddf.catalog.util.impl.DescribableImpl
setDescription, setOrganization, setShortname, setTitle, setVersion
-
Field Details
-
DISABLE_CN_CHECK_PROPERTY
- See Also:
-
PASSWORD_PROPERTY
- See Also:
-
CSW_SERVER_ERROR
- See Also:
-
CSWURL_PROPERTY
- See Also:
-
ID_PROPERTY
- See Also:
-
AUTHENTICATION_TYPE
- See Also:
-
USERNAME_PROPERTY
- See Also:
-
OAUTH_DISCOVERY_URL
- See Also:
-
OAUTH_CLIENT_ID
- See Also:
-
OAUTH_CLIENT_SECRET
- See Also:
-
OAUTH_FLOW
- See Also:
-
CERT_ALIAS_PROPERTY
- See Also:
-
KEYSTORE_PATH_PROPERTY
- See Also:
-
SSL_PROTOCOL_PROPERTY
- See Also:
-
METACARD_MAPPINGS_PROPERTY
- See Also:
-
COORDINATE_ORDER_PROPERTY
- See Also:
-
POLL_INTERVAL_PROPERTY
- See Also:
-
OUTPUT_SCHEMA_PROPERTY
- See Also:
-
IS_CQL_FORCED_PROPERTY
- See Also:
-
FORCE_SPATIAL_FILTER_PROPERTY
- See Also:
-
NO_FORCE_SPATIAL_FILTER
- See Also:
-
CONNECTION_TIMEOUT_PROPERTY
- See Also:
-
RECEIVE_TIMEOUT_PROPERTY
- See Also:
-
QUERY_TYPE_NAME_PROPERTY
- See Also:
-
QUERY_TYPE_NAMESPACE_PROPERTY
- See Also:
-
USE_POS_LIST_PROPERTY
- See Also:
-
SECURITY_ATTRIBUTES_PROPERTY
- See Also:
-
EVENT_SERVICE_ADDRESS
- See Also:
-
REGISTER_FOR_EVENTS
- See Also:
-
clientBuilderFactory
protected final org.codice.ddf.cxf.client.ClientBuilderFactory clientBuilderFactory -
configurationPid
-
cswSourceConfiguration
-
cswFilterDelegate
-
cswTransformConverter
protected com.thoughtworks.xstream.converters.Converter cswTransformConverter -
forceSpatialFilter
-
availabilityPollFuture
-
securityManager
protected ddf.security.service.SecurityManager securityManager -
filterBuilder
protected ddf.catalog.filter.FilterBuilder filterBuilder -
filterAdapter
protected ddf.catalog.filter.FilterAdapter filterAdapter -
capabilities
protected net.opengis.cat.csw.v_2_0_2.CapabilitiesType capabilities -
factory
-
subscribeClientFactory
-
getRecordsTypeProvider
-
cswQueryFilterTransformerProvider
protected ddf.catalog.transform.QueryFilterTransformerProvider cswQueryFilterTransformerProvider -
jaxbElementClassNames
-
jaxbElementClassMap
-
filterlessSubscriptionId
-
-
Constructor Details
-
AbstractCswSource
public AbstractCswSource(org.osgi.framework.BundleContext context, CswSourceConfiguration cswSourceConfiguration, com.thoughtworks.xstream.converters.Converter provider, org.codice.ddf.cxf.client.ClientBuilderFactory clientBuilderFactory, ddf.security.encryption.EncryptionService encryptionService, org.codice.ddf.security.Security security, ddf.security.permission.Permissions permissions) Instantiates a CswSource. This constructor is for unit tests- Parameters:
context- TheBundleContextfrom the OSGi FrameworkcswSourceConfiguration- the configuration of this sourceprovider- transform provider to transform resultsclientBuilderFactory- client factory already configured for this source
-
AbstractCswSource
public AbstractCswSource(ddf.security.encryption.EncryptionService encryptionService, org.codice.ddf.cxf.client.ClientBuilderFactory clientBuilderFactory, org.codice.ddf.security.Security security, ddf.security.permission.Permissions permissions) Instantiates a CswSource.
-
-
Method Details
-
init
public void init()Initializes the CswSource by connecting to the Server -
initClientFactory
- Throws:
URISyntaxException
-
initSubscribeClientFactory
- Throws:
URISyntaxException
-
getAdditionalConsumers
-
initProviders
protected List<Object> initProviders(com.thoughtworks.xstream.converters.Converter cswTransformProvider, CswSourceConfiguration cswSourceConfiguration) -
refresh
Reinitializes the CswSource when there is a configuration change. Otherwise, it checks with the server to see if any capabilities have changed.- Parameters:
configuration- The configuration with which to connect to the server
-
getAvailabilityCommand
-
setupAvailabilityPoll
protected void setupAvailabilityPoll() -
getConnectionTimeout
-
setConnectionTimeout
-
getReceiveTimeout
-
setReceiveTimeout
-
setContext
public void setContext(org.osgi.framework.BundleContext context) -
getContentTypes
- Specified by:
getContentTypesin interfaceddf.catalog.source.Source
-
getResourceReader
public ddf.catalog.resource.ResourceReader getResourceReader() -
setResourceReader
public void setResourceReader(ddf.catalog.resource.ResourceReader resourceReader) -
setOutputSchema
-
setQueryTypeName
-
setQueryTypeNamespace
-
isAvailable
public boolean isAvailable()- Specified by:
isAvailablein interfaceddf.catalog.source.Source
-
isAvailable
public boolean isAvailable(ddf.catalog.source.SourceMonitor sourceMonitor) - Specified by:
isAvailablein interfaceddf.catalog.source.Source
-
query
public ddf.catalog.operation.SourceResponse query(ddf.catalog.operation.QueryRequest queryRequest) throws ddf.catalog.source.UnsupportedQueryException - Specified by:
queryin interfaceddf.catalog.source.Source- Throws:
ddf.catalog.source.UnsupportedQueryException
-
query
protected ddf.catalog.operation.SourceResponse query(ddf.catalog.operation.QueryRequest queryRequest, net.opengis.cat.csw.v_2_0_2.ElementSetType elementSetName, List<QName> elementNames, Csw csw) throws ddf.catalog.source.UnsupportedQueryException - Throws:
ddf.catalog.source.UnsupportedQueryException
-
getDescription
- Specified by:
getDescriptionin interfaceddf.catalog.util.Describable- Specified by:
getDescriptionin interfaceorg.codice.ddf.platform.services.common.Describable- Overrides:
getDescriptionin classDescribableImpl
-
getId
- Specified by:
getIdin interfaceddf.catalog.util.Describable- Specified by:
getIdin interfaceorg.codice.ddf.platform.services.common.Describable- Overrides:
getIdin classDescribableImpl
-
setId
- Overrides:
setIdin classMaskableImpl
-
maskId
- Specified by:
maskIdin interfaceddf.catalog.util.Maskable- Overrides:
maskIdin classMaskableImpl
-
getOrganization
- Specified by:
getOrganizationin interfaceddf.catalog.util.Describable- Specified by:
getOrganizationin interfaceorg.codice.ddf.platform.services.common.Describable- Overrides:
getOrganizationin classDescribableImpl
-
getTitle
- Specified by:
getTitlein interfaceddf.catalog.util.Describable- Specified by:
getTitlein interfaceorg.codice.ddf.platform.services.common.Describable- Overrides:
getTitlein classDescribableImpl
-
getVersion
- Specified by:
getVersionin interfaceddf.catalog.util.Describable- Specified by:
getVersionin interfaceorg.codice.ddf.platform.services.common.Describable- Overrides:
getVersionin classDescribableImpl
-
getOptions
- Specified by:
getOptionsin interfaceddf.catalog.resource.ResourceReader
-
getSupportedSchemes
- Specified by:
getSupportedSchemesin interfaceddf.catalog.resource.ResourceReader
-
retrieveResource
public ddf.catalog.operation.ResourceResponse retrieveResource(URI resourceUri, Map<String, Serializable> requestProperties) throws IOException, ddf.catalog.resource.ResourceNotFoundException, ddf.catalog.resource.ResourceNotSupportedException- Specified by:
retrieveResourcein interfaceddf.catalog.resource.ResourceReader- Throws:
IOExceptionddf.catalog.resource.ResourceNotFoundExceptionddf.catalog.resource.ResourceNotSupportedException
-
setCswUrl
-
getAuthenticationType
- Specified by:
getAuthenticationTypein interfaceddf.catalog.source.OAuthFederatedSource
-
setAuthenticationType
-
setUsername
-
setPassword
-
getOauthDiscoveryUrl
- Specified by:
getOauthDiscoveryUrlin interfaceddf.catalog.source.OAuthFederatedSource
-
setOauthDiscoveryUrl
-
getOauthClientId
- Specified by:
getOauthClientIdin interfaceddf.catalog.source.OAuthFederatedSource
-
setOauthClientId
-
getOauthClientSecret
- Specified by:
getOauthClientSecretin interfaceddf.catalog.source.OAuthFederatedSource
-
setOauthClientSecret
-
getOauthFlow
- Specified by:
getOauthFlowin interfaceddf.catalog.source.OAuthFederatedSource
-
setOauthFlow
-
setCertAlias
-
setKeystorePath
-
setSslProtocol
-
setDisableCnCheck
-
setCoordinateOrder
-
setUsePosList
-
setIsCqlForced
-
setMetacardMappings
-
setFilterAdapter
public void setFilterAdapter(ddf.catalog.filter.FilterAdapter filterAdapter) -
setFilterBuilder
public void setFilterBuilder(ddf.catalog.filter.FilterBuilder filterBuilder) -
setPollInterval
-
getCswTransformConverter
public com.thoughtworks.xstream.converters.Converter getCswTransformConverter() -
setCswTransformConverter
public void setCswTransformConverter(com.thoughtworks.xstream.converters.Converter provider) -
getCswQueryFilterTransformerProvider
public ddf.catalog.transform.QueryFilterTransformerProvider getCswQueryFilterTransformerProvider() -
setCswQueryFilterTransformerProvider
public void setCswQueryFilterTransformerProvider(ddf.catalog.transform.QueryFilterTransformerProvider cswQueryFilterTransformerProvider) -
getForceSpatialFilter
-
setForceSpatialFilter
-
createResults
-
getMetadataTransformerId
-
transform
protected ddf.catalog.data.Metacard transform(ddf.catalog.data.Metacard metacard, org.codice.ddf.spatial.ogc.catalog.MetadataTransformer transformer) Transforms the Metacard created from the CSW Record using the transformer specified by its ID.- Parameters:
metacard-- Returns:
-
lookupMetadataTransformer
protected org.codice.ddf.spatial.ogc.catalog.MetadataTransformer lookupMetadataTransformer(String transformerId) -
getCapabilities
protected net.opengis.cat.csw.v_2_0_2.CapabilitiesType getCapabilities() -
getSystemSubject
protected ddf.security.Subject getSystemSubject() -
configureCswSource
public void configureCswSource() -
setFilterDelegate
protected void setFilterDelegate(net.opengis.ows.v_1_0_0.Operation getRecordsOp, net.opengis.filter.v_1_1_0.FilterCapabilities filterCapabilities, net.opengis.ows.v_1_0_0.DomainType outputFormatValues, net.opengis.ows.v_1_0_0.DomainType resultTypesValues, CswSourceConfiguration cswSourceConfiguration) Sets theFilterDelegateused by the AbstractCswSource. May be overridden in order to provide a custom ddf.catalog.filter.FilterDelegate implementation.- Parameters:
getRecordsOp-filterCapabilities-outputFormatValues-resultTypesValues-cswSourceConfiguration-
-
loadContentTypes
protected void loadContentTypes() -
getParameter
public net.opengis.ows.v_1_0_0.DomainType getParameter(net.opengis.ows.v_1_0_0.Operation operation, String name) -
handleWebApplicationException
-
handleClientException
-
availabilityChanged
protected void availabilityChanged(boolean isAvailable) -
setAvailabilityTask
-
setSecurityManager
public void setSecurityManager(ddf.security.service.SecurityManager securityManager) -
getConfigurationPid
- Specified by:
getConfigurationPidin interfaceddf.catalog.service.ConfiguredService
-
setConfigurationPid
- Specified by:
setConfigurationPidin interfaceddf.catalog.service.ConfiguredService
-
getSecurityAttributes
- Specified by:
getSecurityAttributesin interfaceddf.catalog.source.Source
-
setMetacardTypes
-
setCsw201
public void setCsw201()Set the version to CSW 2.0.1. The schemas don't vary much between 2.0.2 and 2.0.1. The largest difference is the namespace itself. This method tells CXF JAX-RS to transform outgoing messages CSW namespaces to 2.0.1. -
setRegisterForEvents
-
setEventServiceAddress
-
addSourceMonitor
protected void addSourceMonitor(ddf.catalog.source.SourceMonitor sourceMonitor) -
destroy
public void destroy(int code) Clean-up when shutting down the CswSource
-