This is an automated email from the ASF dual-hosted git repository.

erans pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/commons-geometry.git

commit 67ce2150e70245ce26cf2c7fab8a3455d4bcbafd
Author: Matt Juntunen <matt.juntu...@hotmail.com>
AuthorDate: Fri Dec 13 01:06:23 2019 -0500

    GEOMETRY-63: small changes based on sonarcloud report: using method 
references instead of lambdas and moving internal methods to the classes that 
use them
---
 .../partitioning/bsp/AbstractRegionBSPTree.java    | 10 +--
 .../geometry/euclidean/oned/RegionBSPTree1D.java   | 83 ++++++++++------------
 .../geometry/euclidean/threed/RegionBSPTree3D.java | 36 ++++------
 .../geometry/euclidean/twod/RegionBSPTree2D.java   | 36 ++++------
 .../commons/geometry/spherical/oned/Point1S.java   |  3 +-
 .../geometry/spherical/twod/RegionBSPTree2S.java   | 36 ++++------
 .../spherical/oned/RegionBSPTree1STest.java        |  1 -
 .../twod/AbstractGreatArcPathConnectorTest.java    |  2 -
 8 files changed, 84 insertions(+), 123 deletions(-)

diff --git 
a/commons-geometry-core/src/main/java/org/apache/commons/geometry/core/partitioning/bsp/AbstractRegionBSPTree.java
 
b/commons-geometry-core/src/main/java/org/apache/commons/geometry/core/partitioning/bsp/AbstractRegionBSPTree.java
index 89b5569..19faf35 100644
--- 
a/commons-geometry-core/src/main/java/org/apache/commons/geometry/core/partitioning/bsp/AbstractRegionBSPTree.java
+++ 
b/commons-geometry-core/src/main/java/org/apache/commons/geometry/core/partitioning/bsp/AbstractRegionBSPTree.java
@@ -157,13 +157,9 @@ public abstract class AbstractRegionBSPTree<
     protected <C extends ConvexSubHyperplane<P>> Iterable<C> 
createBoundaryIterable(
             final Function<ConvexSubHyperplane<P>, C> typeConverter) {
 
-        return new Iterable<C>() {
-
-            @Override
-            public Iterator<C> iterator() {
-                final NodeIterator<P, N> nodeIterator = new 
NodeIterator<>(getRoot());
-                return new RegionBoundaryIterator<>(nodeIterator, 
typeConverter);
-            }
+        return () -> {
+            final NodeIterator<P, N> nodeIterator = new 
NodeIterator<>(getRoot());
+            return new RegionBoundaryIterator<>(nodeIterator, typeConverter);
         };
     }
 
diff --git 
a/commons-geometry-euclidean/src/main/java/org/apache/commons/geometry/euclidean/oned/RegionBSPTree1D.java
 
b/commons-geometry-euclidean/src/main/java/org/apache/commons/geometry/euclidean/oned/RegionBSPTree1D.java
index 346680a..38c8fef 100644
--- 
a/commons-geometry-euclidean/src/main/java/org/apache/commons/geometry/euclidean/oned/RegionBSPTree1D.java
+++ 
b/commons-geometry-euclidean/src/main/java/org/apache/commons/geometry/euclidean/oned/RegionBSPTree1D.java
@@ -241,55 +241,11 @@ public final class RegionBSPTree1D extends 
AbstractRegionBSPTree<Vector1D, Regio
     private void visitInsideIntervals(final BiConsumer<OrientedPoint, 
OrientedPoint> visitor) {
         for (RegionNode1D node : this) {
             if (node.isInside()) {
-                visitNodeInterval(node, visitor);
+                node.visitNodeInterval(visitor);
             }
         }
     }
 
-    /** Determine the min/max boundaries for the convex region represented by 
the given node and pass
-     * the values to the visitor function.
-     * @param node the node to compute the interval for
-     * @param visitor the object that will receive the min and max boundaries 
for the node's
-     *      convex region
-     */
-    private void visitNodeInterval(final RegionNode1D node, final 
BiConsumer<OrientedPoint, OrientedPoint> visitor) {
-        OrientedPoint min = null;
-        OrientedPoint max = null;
-
-        OrientedPoint pt;
-        RegionNode1D child = node;
-        RegionNode1D parent;
-
-        while ((min == null || max == null) && (parent = child.getParent()) != 
null) {
-            pt = (OrientedPoint) parent.getCutHyperplane();
-
-            if ((pt.isPositiveFacing() && child.isMinus()) ||
-                    (!pt.isPositiveFacing() && child.isPlus())) {
-
-                if (max == null) {
-                    max = pt;
-                }
-            } else if (min == null) {
-                min = pt;
-            }
-
-            child = parent;
-        }
-
-        visitor.accept(min, max);
-    }
-
-    /** Compute the region represented by the given node.
-     * @param node the node to compute the region for
-     * @return the region represented by the given node
-     */
-    private Interval computeNodeRegion(final RegionNode1D node) {
-        final NodeRegionVisitor visitor = new NodeRegionVisitor();
-        visitNodeInterval(node, visitor);
-
-        return visitor.getInterval();
-    }
-
     /** {@inheritDoc} */
     @Override
     protected RegionNode1D createNode() {
@@ -403,7 +359,42 @@ public final class RegionBSPTree1D extends 
AbstractRegionBSPTree<Vector1D, Regio
          * @return the region represented by this node
          */
         public Interval getNodeRegion() {
-            return ((RegionBSPTree1D) getTree()).computeNodeRegion(this);
+            final NodeRegionVisitor visitor = new NodeRegionVisitor();
+            visitNodeInterval(visitor);
+
+            return visitor.getInterval();
+        }
+
+        /** Determine the min/max boundaries for the convex region represented 
by this node and pass
+         * the values to the visitor function.
+         * @param visitor the object that will receive the min and max 
boundaries for the node's
+         *      convex region
+         */
+        private void visitNodeInterval(final BiConsumer<OrientedPoint, 
OrientedPoint> visitor) {
+            OrientedPoint min = null;
+            OrientedPoint max = null;
+
+            OrientedPoint pt;
+            RegionNode1D child = this;
+            RegionNode1D parent;
+
+            while ((min == null || max == null) && (parent = 
child.getParent()) != null) {
+                pt = (OrientedPoint) parent.getCutHyperplane();
+
+                if ((pt.isPositiveFacing() && child.isMinus()) ||
+                        (!pt.isPositiveFacing() && child.isPlus())) {
+
+                    if (max == null) {
+                        max = pt;
+                    }
+                } else if (min == null) {
+                    min = pt;
+                }
+
+                child = parent;
+            }
+
+            visitor.accept(min, max);
         }
 
         /** {@inheritDoc} */
diff --git 
a/commons-geometry-euclidean/src/main/java/org/apache/commons/geometry/euclidean/threed/RegionBSPTree3D.java
 
b/commons-geometry-euclidean/src/main/java/org/apache/commons/geometry/euclidean/threed/RegionBSPTree3D.java
index a37be39..081d396 100644
--- 
a/commons-geometry-euclidean/src/main/java/org/apache/commons/geometry/euclidean/threed/RegionBSPTree3D.java
+++ 
b/commons-geometry-euclidean/src/main/java/org/apache/commons/geometry/euclidean/threed/RegionBSPTree3D.java
@@ -159,27 +159,6 @@ public final class RegionBSPTree3D extends 
AbstractRegionBSPTree<Vector3D, Regio
         return visitor.getRegionSizeProperties();
     }
 
-    /** Compute the region represented by the given node.
-     * @param node the node to compute the region for
-     * @return the region represented by the given node
-     */
-    private ConvexVolume computeNodeRegion(final RegionNode3D node) {
-        ConvexVolume volume = ConvexVolume.full();
-
-        RegionNode3D child = node;
-        RegionNode3D parent;
-
-        while ((parent = child.getParent()) != null) {
-            Split<ConvexVolume> split = 
volume.split(parent.getCutHyperplane());
-
-            volume = child.isMinus() ? split.getMinus() : split.getPlus();
-
-            child = parent;
-        }
-
-        return volume;
-    }
-
     /** {@inheritDoc} */
     @Override
     protected RegionNode3D createNode() {
@@ -236,7 +215,20 @@ public final class RegionBSPTree3D extends 
AbstractRegionBSPTree<Vector3D, Regio
          * @return the region represented by this node
          */
         public ConvexVolume getNodeRegion() {
-            return ((RegionBSPTree3D) getTree()).computeNodeRegion(this);
+            ConvexVolume volume = ConvexVolume.full();
+
+            RegionNode3D child = this;
+            RegionNode3D parent;
+
+            while ((parent = child.getParent()) != null) {
+                Split<ConvexVolume> split = 
volume.split(parent.getCutHyperplane());
+
+                volume = child.isMinus() ? split.getMinus() : split.getPlus();
+
+                child = parent;
+            }
+
+            return volume;
         }
 
         /** {@inheritDoc} */
diff --git 
a/commons-geometry-euclidean/src/main/java/org/apache/commons/geometry/euclidean/twod/RegionBSPTree2D.java
 
b/commons-geometry-euclidean/src/main/java/org/apache/commons/geometry/euclidean/twod/RegionBSPTree2D.java
index 29e1a76..25812ed 100644
--- 
a/commons-geometry-euclidean/src/main/java/org/apache/commons/geometry/euclidean/twod/RegionBSPTree2D.java
+++ 
b/commons-geometry-euclidean/src/main/java/org/apache/commons/geometry/euclidean/twod/RegionBSPTree2D.java
@@ -216,27 +216,6 @@ public final class RegionBSPTree2D extends 
AbstractRegionBSPTree<Vector2D, Regio
         return new RegionSizeProperties<>(size, barycenter);
     }
 
-    /** Compute the region represented by the given node.
-     * @param node the node to compute the region for
-     * @return the region represented by the given node
-     */
-    private ConvexArea computeNodeRegion(final RegionNode2D node) {
-        ConvexArea area = ConvexArea.full();
-
-        RegionNode2D child = node;
-        RegionNode2D parent;
-
-        while ((parent = child.getParent()) != null) {
-            Split<ConvexArea> split = area.split(parent.getCutHyperplane());
-
-            area = child.isMinus() ? split.getMinus() : split.getPlus();
-
-            child = parent;
-        }
-
-        return area;
-    }
-
     /** {@inheritDoc} */
     @Override
     protected void invalidate() {
@@ -302,7 +281,20 @@ public final class RegionBSPTree2D extends 
AbstractRegionBSPTree<Vector2D, Regio
          * @return the region represented by this node
          */
         public ConvexArea getNodeRegion() {
-            return ((RegionBSPTree2D) getTree()).computeNodeRegion(this);
+            ConvexArea area = ConvexArea.full();
+
+            RegionNode2D child = this;
+            RegionNode2D parent;
+
+            while ((parent = child.getParent()) != null) {
+                Split<ConvexArea> split = 
area.split(parent.getCutHyperplane());
+
+                area = child.isMinus() ? split.getMinus() : split.getPlus();
+
+                child = parent;
+            }
+
+            return area;
         }
 
         /** {@inheritDoc} */
diff --git 
a/commons-geometry-spherical/src/main/java/org/apache/commons/geometry/spherical/oned/Point1S.java
 
b/commons-geometry-spherical/src/main/java/org/apache/commons/geometry/spherical/oned/Point1S.java
index 44c720b..7b08ea5 100644
--- 
a/commons-geometry-spherical/src/main/java/org/apache/commons/geometry/spherical/oned/Point1S.java
+++ 
b/commons-geometry-spherical/src/main/java/org/apache/commons/geometry/spherical/oned/Point1S.java
@@ -20,6 +20,7 @@ import java.util.Comparator;
 import java.util.Objects;
 
 import org.apache.commons.geometry.core.Point;
+import org.apache.commons.geometry.core.internal.DoubleFunction1N;
 import org.apache.commons.geometry.core.internal.SimpleTupleFormat;
 import org.apache.commons.geometry.core.precision.DoublePrecisionContext;
 import org.apache.commons.geometry.euclidean.twod.PolarCoordinates;
@@ -352,7 +353,7 @@ public final class Point1S implements Point<Point1S> {
      * @throws IllegalArgumentException if the given string has an invalid 
format
      */
     public static Point1S parse(final String str) {
-        return SimpleTupleFormat.getDefault().parse(str, a -> of(a));
+        return SimpleTupleFormat.getDefault().parse(str, 
(DoubleFunction1N<Point1S>) Point1S::of);
     }
 
     /** Compute the signed shortest distance (angular separation) between two 
points. The return
diff --git 
a/commons-geometry-spherical/src/main/java/org/apache/commons/geometry/spherical/twod/RegionBSPTree2S.java
 
b/commons-geometry-spherical/src/main/java/org/apache/commons/geometry/spherical/twod/RegionBSPTree2S.java
index e723ba9..d519e22 100644
--- 
a/commons-geometry-spherical/src/main/java/org/apache/commons/geometry/spherical/twod/RegionBSPTree2S.java
+++ 
b/commons-geometry-spherical/src/main/java/org/apache/commons/geometry/spherical/twod/RegionBSPTree2S.java
@@ -188,27 +188,6 @@ public class RegionBSPTree2S extends 
AbstractRegionBSPTree<Point2S, RegionBSPTre
         boundaryPaths = null;
     }
 
-    /** Compute the region represented by the given node.
-     * @param node the node to compute the region for
-     * @return the region represented by the given node
-     */
-    private ConvexArea2S computeNodeRegion(final RegionNode2S node) {
-        ConvexArea2S area = ConvexArea2S.full();
-
-        RegionNode2S child = node;
-        RegionNode2S parent;
-
-        while ((parent = child.getParent()) != null) {
-            Split<ConvexArea2S> split = area.split(parent.getCutHyperplane());
-
-            area = child.isMinus() ? split.getMinus() : split.getPlus();
-
-            child = parent;
-        }
-
-        return area;
-    }
-
     /** Compute the great arc paths comprising the region boundary.
      * @return the great arc paths comprising the region boundary
      */
@@ -260,7 +239,20 @@ public class RegionBSPTree2S extends 
AbstractRegionBSPTree<Point2S, RegionBSPTre
          * @return the region represented by this node
          */
         public ConvexArea2S getNodeRegion() {
-            return ((RegionBSPTree2S) getTree()).computeNodeRegion(this);
+            ConvexArea2S area = ConvexArea2S.full();
+
+            RegionNode2S child = this;
+            RegionNode2S parent;
+
+            while ((parent = child.getParent()) != null) {
+                Split<ConvexArea2S> split = 
area.split(parent.getCutHyperplane());
+
+                area = child.isMinus() ? split.getMinus() : split.getPlus();
+
+                child = parent;
+            }
+
+            return area;
         }
 
         /** {@inheritDoc} */
diff --git 
a/commons-geometry-spherical/src/test/java/org/apache/commons/geometry/spherical/oned/RegionBSPTree1STest.java
 
b/commons-geometry-spherical/src/test/java/org/apache/commons/geometry/spherical/oned/RegionBSPTree1STest.java
index 4ef7ff7..34f6412 100644
--- 
a/commons-geometry-spherical/src/test/java/org/apache/commons/geometry/spherical/oned/RegionBSPTree1STest.java
+++ 
b/commons-geometry-spherical/src/test/java/org/apache/commons/geometry/spherical/oned/RegionBSPTree1STest.java
@@ -18,7 +18,6 @@ package org.apache.commons.geometry.spherical.oned;
 
 import java.util.List;
 
-import org.apache.commons.numbers.angle.PlaneAngleRadians;
 import org.apache.commons.geometry.core.Region;
 import org.apache.commons.geometry.core.RegionLocation;
 import org.apache.commons.geometry.core.partitioning.Split;
diff --git 
a/commons-geometry-spherical/src/test/java/org/apache/commons/geometry/spherical/twod/AbstractGreatArcPathConnectorTest.java
 
b/commons-geometry-spherical/src/test/java/org/apache/commons/geometry/spherical/twod/AbstractGreatArcPathConnectorTest.java
index 89f8d55..99dd2b7 100644
--- 
a/commons-geometry-spherical/src/test/java/org/apache/commons/geometry/spherical/twod/AbstractGreatArcPathConnectorTest.java
+++ 
b/commons-geometry-spherical/src/test/java/org/apache/commons/geometry/spherical/twod/AbstractGreatArcPathConnectorTest.java
@@ -292,8 +292,6 @@ public class AbstractGreatArcPathConnectorTest {
 
     private static class TestConnector extends AbstractGreatArcConnector {
 
-        private static final long serialVersionUID = 1L;
-
         @Override
         protected ConnectableGreatArc selectConnection(ConnectableGreatArc 
incoming,
                 List<ConnectableGreatArc> outgoing) {

Reply via email to