sis-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Martin Desruisseaux (JIRA)" <>
Subject [jira] [Created] (SIS-290) Complete JAXB annotations for OperationParameter and ParameterValue
Date Thu, 03 Sep 2015 16:46:45 GMT
Martin Desruisseaux created SIS-290:

             Summary: Complete JAXB annotations for OperationParameter and ParameterValue
                 Key: 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>}}

The main difficulties in this task are:

* {{ParameterDescriptor.getValueClass()}} is mandatory for SIS, but GML has no notion of "value
** *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

View raw message