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

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 0.3, 0.4, 0.5, 0.6, 0.7
    • 0.8
    • Metadata
    • 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

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

            Dates

              Created:
              Updated:
              Resolved: