sis-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Martin Desruisseaux (JIRA)" <j...@apache.org>
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
                 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)

Mime
View raw message