Github user dsmiley commented on a diff in the pull request:

    https://github.com/apache/lucene-solr/pull/246#discussion_r138329027
  
    --- Diff: 
lucene/spatial-extras/src/java/org/apache/lucene/spatial/spatial4j/Geo3dRectangleShape.java
 ---
    @@ -30,32 +30,49 @@
     import org.locationtech.spatial4j.shape.SpatialRelation;
     
     /**
    - * Specialization of a {@link Geo3dAreaShape} which represents a {@link 
Rectangle}. This
    + * Specialization of a {@link Geo3dShape} which represents a {@link 
Rectangle}. This
      * class is used for geohashing.
      *
      * @lucene.experimental
      */
    -public class Geo3dRectangleShape extends Geo3dAreaShape<GeoBBox> 
implements Rectangle {
    -
    -  //bounds object to return the max and min latitude and longitude
    -  private volatile  LatLonBounds bounds; // lazy initialized
    +public class Geo3dRectangleShape extends Geo3dShape<GeoBBox> implements 
Rectangle {
    +
    +  private double minX;
    +  private double maxX;
    +  private double minY;
    +  private double maxY;
    +
    +  public Geo3dRectangleShape(final GeoBBox shape,
    +                             final SpatialContext spatialcontext,
    +                             double minX,
    +                             double maxX,
    +                             double minY,
    +                             double maxY) {
    +    super(shape, spatialcontext);
    +    this.minX = minX;
    +    this.maxX = maxX;
    +    this.minY = minY;
    +    this.maxY = maxY;
    +  }
     
       public Geo3dRectangleShape(final GeoBBox shape, final SpatialContext 
spatialcontext) {
         super(shape, spatialcontext);
    +    setBounds();
       }
     
    +
    +
       /**
    -   * Get the bounds from the wrapped GeoBBox.
    +   * Set the bounds from the wrapped GeoBBox.
        * @return The bounds
        */
    -  private LatLonBounds getBounds() {
    -    LatLonBounds bounds  = this.bounds;//volatile read once
    -    if (bounds == null) {
    -      bounds = new LatLonBounds();
    -      shape.getBounds(bounds);
    -      this.bounds = bounds;
    -    }
    -    return bounds;
    +  private void setBounds() {
    --- End diff --
    
    minor: if this method accepted the shape field as a parameter, it would be 
more clear from where the boundaries are coming from.  Or give it a longer name 
perhaps like setBoundsFromShape.


---

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org
For additional commands, e-mail: dev-h...@lucene.apache.org

Reply via email to