Uploaded image for project: 'Spatial Information Systems'
  1. Spatial Information Systems
  2. SIS-346

MetadataStandard.asValueMap(…) / asTreeTable(…) do not work if the argument implements more than one metadata interface

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 0.3, 0.4, 0.5, 0.6, 0.7
    • Fix Version/s: 0.8
    • Component/s: Metadata
    • Labels:
      None

      Description

      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.

        Attachments

          Activity

            People

            • Assignee:
              desruisseaux Martin Desruisseaux
              Reporter:
              desruisseaux Martin Desruisseaux
            • Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: