Martin Desruisseaux created SIS-346: ---------------------------------------
Summary: 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.7, 0.6, 0.5, 0.4, 0.3 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.3.4#6332)