sis-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Martin Desruisseaux (JIRA)" <>
Subject [jira] [Closed] (SIS-290) Complete JAXB annotations for OperationParameter and ParameterValue
Date Fri, 17 Nov 2017 14:33:00 GMT


Martin Desruisseaux closed SIS-290.

> Complete JAXB annotations for OperationParameter and ParameterValue
> -------------------------------------------------------------------
>                 Key: SIS-290
>                 URL:
>             Project: Spatial Information Systems
>          Issue Type: Sub-task
>          Components: Referencing
>            Reporter: Martin Desruisseaux
>            Assignee: Martin Desruisseaux
>             Fix For: 0.6
> Add JAXB annotations on {{DefaultParameterDescriptor}} and {{DefaultParameterValue}}
for allowing them to read and write {{<gml:OperationParameter>}} and {{<gml:ParameterValue>}}
> The main difficulties in this task are:
> * {{ParameterDescriptor.getValueClass()}} is mandatory for SIS, but GML has no notion
of "value class".
> ** *Solution:* we can infer this information from the value given by the enclosing {{<gml:ParameterValue>}}.
> ** *Limitation:* above solution does not work if the {{<gml:OperationParameter>}}
is inside a {{<gml:OperationParameterGroup>}} or {{<gml:OperationMethod>}} because
there is no enclosing {{<gml:ParameterValue>}} in such cases.
> *** *Solution to limitation:* see point below.
> * {{ParameterValue.getDescriptor()}} is supposed to be the _same instance_ (not just
an object equals in the sense of {{Object.equals(Object)}} than the descriptors listed in
{{ParameterDescriptorGroup}}. GML can support that by declaring each descriptor only once
then using {{xlink:href}} attribute, but not all GML documents do that.
> ** *Solution:* after unmarshalling of {{GeneralParameterValue[]}}, map each {{GeneralParameterValue.getDescriptor()}}
to the descriptor of the same name in the {{ParameterDescriptorGroup}}. If they do not have
the same properties (alias, identifiers, description, remarks, minimum/maximum occurrences,
value class, value domain, valid values), merge the two descriptors in an implementation dependent
way. Then ensure that the same descriptor instance is used.

This message was sent by Atlassian JIRA

View raw message