[ 
https://issues.apache.org/jira/browse/SIS-290?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Martin Desruisseaux resolved SIS-290.
-------------------------------------
    Resolution: Fixed

> 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 {{gml:idref}} 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.3.4#6332)

Reply via email to