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

Martin Desruisseaux closed SIS-346.
-----------------------------------

> MetadataStandard.asValueMap(…) / asTreeTable(…) do not work if the argument 
> implements more than one metadata interface
> -----------------------------------------------------------------------------------------------------------------------
>
>                 Key: SIS-346
>                 URL: https://issues.apache.org/jira/browse/SIS-346
>             Project: Spatial Information Systems
>          Issue Type: Bug
>          Components: Metadata
>    Affects Versions: 0.3, 0.4, 0.5, 0.6, 0.7
>            Reporter: Martin Desruisseaux
>            Assignee: Martin Desruisseaux
>             Fix For: 0.8
>
>
> It is some time convenient to implement more than one interface by the same 
> class. For example an implementation interested only in extents defined by 
> geographic bounding boxes could implement 
> {{org.opengis.metadata.extent.Extent}} and 
> {{org.opengis.metadata.extent.GeographicBoundingBox}} by the same class. 
> However in such cases, we get an ambiguity that prevent most 
> {{StandardMetadata}} methods to work. For resolving the ambiguity, we need to 
> tell which interface to reflect. This information is often known since the 
> metadata is often a return value of some getter methods, so we can use the 
> return type of the getter method for filtering the interface of interest 
> among the set of interfaces implemented by the value.
> Example: if {{getExtent()}} and {{getGeographicBoundingBox()}} both return 
> the same instance, but in the first case the method signature declare 
> {{Extent}} as the return value and in the second case declare 
> {{GeographicBoundingBox}} as the return value, we can use that information 
> for showing only the relevant nodes in a metadata tree.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to