[ 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)