Uploaded image for project: 'Lucene - Core'
  1. Lucene - Core
  2. LUCENE-8746

Make EdgeTree (aka ComponentTree) support different type of components

    XMLWordPrintableJSON

    Details

    • Type: Improvement
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 8.4
    • Component/s: None
    • Labels:
      None
    • Lucene Fields:
      New

      Description

      Currently the class EdgeTree is a bit confusing as it is in reality a tree of components. The inner class Edge is the one that builds a tree of edges which is used by Polygon2D and Line2D to represent their structure.

      Here is proposed:

      1) Create a new class called ComponentTree which is in fact the current EdgeTree

      2) Modify EdgeTree to be in fact the inner class Edge

      3) Extract a Component interface so we can have different types of components in the same tree. This allow us to support heterogeneous trees of components.

      4) Make Polygon2D and Line2D instance of the component interface.

      4) With this change, LatLonShapePolygonQuery and LatLonShapeLineQuery can be replaced with one LatLonShapeComponentQuery.  

       

       

       

        Attachments

          Activity

            People

            • Assignee:
              ivera Ignacio Vera
              Reporter:
              ivera Ignacio Vera
            • Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Time Tracking

                Estimated:
                Original Estimate - Not Specified
                Not Specified
                Remaining:
                Remaining Estimate - 0h
                0h
                Logged:
                Time Spent - 3h 40m
                3h 40m