This is an automated email from the ASF dual-hosted git repository.
desruisseaux pushed a commit to branch geoapi-4.0
in repository https://gitbox.apache.org/repos/asf/sis.git
The following commit(s) were added to refs/heads/geoapi-4.0 by this push:
new 0cae00bc0e Delegate `AxisDirections.opposite(…)` to the GeoAPI method.
0cae00bc0e is described below
commit 0cae00bc0ede50fa44fba49109562af3bcac8021
Author: Martin Desruisseaux <[email protected]>
AuthorDate: Sun Jun 23 18:14:13 2024 +0200
Delegate `AxisDirections.opposite(…)` to the GeoAPI method.
---
.../org/apache/sis/coverage/grid/PixelInCell.java | 3 ++
.../sis/referencing/privy/AxisDirections.java | 38 +++-------------------
.../sis/referencing/privy/AxisDirectionsTest.java | 2 +-
3 files changed, 8 insertions(+), 35 deletions(-)
diff --git
a/endorsed/src/org.apache.sis.feature/main/org/apache/sis/coverage/grid/PixelInCell.java
b/endorsed/src/org.apache.sis.feature/main/org/apache/sis/coverage/grid/PixelInCell.java
index 53a0e836ae..5b2b7a1f8d 100644
---
a/endorsed/src/org.apache.sis.feature/main/org/apache/sis/coverage/grid/PixelInCell.java
+++
b/endorsed/src/org.apache.sis.feature/main/org/apache/sis/coverage/grid/PixelInCell.java
@@ -115,6 +115,9 @@ public enum PixelInCell implements ControlledVocabulary {
*/
@Override
public String[] names() {
+ if (this == CELL_CENTER) {
+ return new String[] {name(), identifier, "cell centre"};
+ }
return new String[] {name(), identifier};
}
diff --git
a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/privy/AxisDirections.java
b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/privy/AxisDirections.java
index aa443b4110..414d1a7a54 100644
---
a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/privy/AxisDirections.java
+++
b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/privy/AxisDirections.java
@@ -17,7 +17,6 @@
package org.apache.sis.referencing.privy;
import java.util.Map;
-import java.util.HashMap;
import java.util.Objects;
import javax.measure.Unit;
import javax.measure.quantity.Angle;
@@ -68,38 +67,6 @@ public final class AxisDirections extends Static {
*/
private static final int LAST_ORDINAL = UNSPECIFIED.ordinal();
- /**
- * For each direction, the opposite direction.
- * This map shall be immutable after construction.
- */
- private static final Map<AxisDirection,AxisDirection> OPPOSITES = new
HashMap<>(24);
- static {
- put(UNSPECIFIED, UNSPECIFIED);
- put(NORTH, SOUTH);
- put(NORTH_NORTH_EAST, SOUTH_SOUTH_WEST);
- put(NORTH_EAST, SOUTH_WEST);
- put(EAST_NORTH_EAST, WEST_SOUTH_WEST);
- put(EAST, WEST);
- put(EAST_SOUTH_EAST, WEST_NORTH_WEST);
- put(SOUTH_EAST, NORTH_WEST);
- put(SOUTH_SOUTH_EAST, NORTH_NORTH_WEST);
- put(UP, DOWN);
- put(FUTURE, PAST);
- put(COLUMN_POSITIVE, COLUMN_NEGATIVE);
- put(ROW_POSITIVE, ROW_NEGATIVE);
- put(DISPLAY_RIGHT, DISPLAY_LEFT);
- put(DISPLAY_UP, DISPLAY_DOWN);
- put(COUNTER_CLOCKWISE, CLOCKWISE);
- }
-
- /**
- * Stores the given directions in the {@link #OPPOSITES} array.
- */
- private static void put(final AxisDirection dir, final AxisDirection
opposite) {
- OPPOSITES.put(dir, opposite);
- OPPOSITES.put(opposite, dir);
- }
-
/**
* Proposed abbreviations for some axis directions.
*/
@@ -138,6 +105,7 @@ public final class AxisDirections extends Static {
* <tr><td>{@code DISPLAY_RIGHT}, {@code DISPLAY_LEFT}</td>
<td>{@code DISPLAY_RIGHT}</td></tr>
* <tr><td>{@code DISPLAY_UP}, {@code DISPLAY_DOWN}</td>
<td>{@code DISPLAY_UP}</td></tr>
* <tr><td>{@code CLOCKWISE}, {@code COUNTERCLOCKWISE}</td>
<td>{@code COUNTERCLOCKWISE}</td></tr>
+ * <tr><td>{@code AWAY_FROM}, {@code TOWARDS}</td>
<td>{@code AWAY_FROM}</td></tr>
* <tr><td>{@code OTHER}</td>
<td>{@code OTHER}</td></tr>
* </table>
*
@@ -153,6 +121,8 @@ public final class AxisDirections extends Static {
// Ordinal values do not have the desired order for this
particular case.
if (dir == CLOCKWISE) {
dir = COUNTER_CLOCKWISE;
+ } else if (dir == TOWARDS) {
+ dir = AWAY_FROM;
}
}
return dir;
@@ -168,7 +138,7 @@ public final class AxisDirections extends Static {
* @return the opposite direction, or {@code null} if none or unknown.
*/
public static AxisDirection opposite(AxisDirection dir) {
- return OPPOSITES.get(dir);
+ return (dir != null) ? dir.opposite().orElse(null) : null;
}
/**
diff --git
a/endorsed/src/org.apache.sis.referencing/test/org/apache/sis/referencing/privy/AxisDirectionsTest.java
b/endorsed/src/org.apache.sis.referencing/test/org/apache/sis/referencing/privy/AxisDirectionsTest.java
index 8e12595bda..7b16e340ca 100644
---
a/endorsed/src/org.apache.sis.referencing/test/org/apache/sis/referencing/privy/AxisDirectionsTest.java
+++
b/endorsed/src/org.apache.sis.referencing/test/org/apache/sis/referencing/privy/AxisDirectionsTest.java
@@ -97,7 +97,7 @@ public final class AxisDirectionsTest extends TestCase {
assertEquals(FUTURE, AxisDirections.opposite(PAST));
assertEquals(COUNTER_CLOCKWISE, AxisDirections.opposite(CLOCKWISE));
assertEquals(CLOCKWISE,
AxisDirections.opposite(COUNTER_CLOCKWISE));
- assertNull ( AxisDirections.opposite(AWAY_FROM));
+ assertEquals(TOWARDS, AxisDirections.opposite(AWAY_FROM));
}
/**