Locked History Actions

deegree3/ServiceMetadataExtensionPoint

Service metadata extension point

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).


CategoryDeegree3