Service metadata extension point
Contents |
This page describes how to implement a custom service metadata provider.
1. Basics
The extension point uses SPI. The relevant SPI interface (and related classes) can be found in the deegree-services-commons module. Implement the org.deegree.services.metadata.provider.OWSMetadataProviderProvider interface to provide your own implementation. Loading takes place during workspace initialization, the OWSMetadataProvider interface is a full deegree workspace resource.
2. Things to consider
relevant classes can be found in the org.deegree.services.metadata package
don't forget to add your implementing provider class name to META-INF/services/org.deegree.services.metadata.provider.OWSMetadataProviderProvider
define an XML schema for configuration files under <workspace>/services/ (at least a root element is required)
the ID handling of the OWSMetadataProvider resources is a bit different from the rest of deegree, the manager will look for <id>_metadata.xml in the services folder to be able to map the metadata to the appropriate services
the OWSMetadataProvider interface defines the resource, and the DefaultOWSMetadataProvider provides a suitable bean representation (if static metadata is enough for your use-case)
the OWSMetadataProvider interface uses deegree's internal model for the representation of ServiceProvider and ServiceIdentification. The relevant classes can be found in deegree's deegree-core-base module, in package org.deegree.protocol.ows.metadata (it is planned to put these in its own module under deegree-core-protocol in the future, but the API is likely not to change too much).