You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sis.apache.org by "Martin Desruisseaux (JIRA)" <ji...@apache.org> on 2017/11/17 14:33:00 UTC
[jira] [Closed] (SIS-290) Complete JAXB annotations for
OperationParameter and ParameterValue
[ https://issues.apache.org/jira/browse/SIS-290?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Martin Desruisseaux closed SIS-290.
-----------------------------------
> Complete JAXB annotations for OperationParameter and ParameterValue
> -------------------------------------------------------------------
>
> Key: SIS-290
> URL: https://issues.apache.org/jira/browse/SIS-290
> 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>}} respectively.
> 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
(v6.4.14#64029)