See implementation details here.
The EDC will not be IDS compliant in every way. This section contains a list of issues, where the non-compliance is a conscious decision.
At the root path of the API IDS requires the connector to return a self-description. This is a requirement the connector will never fulfil. The self-description is only returned on the corresponding REST or Multipart requests.
The EDC connector will not be able to support more than one IDS Information model per running instance.
- ids-api-[x]-endpoint-v[x] modules marshall requests and responses between the EDC and a transport. They are tied to a specific infomodel version.
- ids-transform-v[x] modules contain transformers. They are tied to a specific infomodel version. EDC model to IDS infomodel and vice versa.
- Two different endpoint modules may use the same transformers if they share a common infomodel.
MultipartControllerreads messages from a transport and dispatches to a Message Handler based onRequestMessagetype.- Performs basic validation and may return an error response
MultipartRequestHandlerprocesses aRequestMessagetype (subclass).- Performs validation and may return an error response
DescriptionRequestHandlerprocesses aDescriptionRequestMessageby delegating to a Sub Handler.- This handler directly maintains a map of Sub Handlers keyed by the scheme-specific part of the
requestedElementfield. - The Connector Description Sub Handler is dispatched to as the default handler. This Sub Handler will use the
ConnectorDescriptorService.
- A
TransformerRegisterydispatches toTransformersto map between IDS and EDC types. Handlers/Sub Handlers should use these to marshal requests and responses to and from the EDC core. - Type mapping should preferably be done in the handlers, not services (we need to look at this further, e.g.
ConnectorDescriptionService).
