GeoAPI

OperationMethod.[source|target]Dimensions now optional in latest ISO 19111

Details

  • Type: Task Task
  • Status: Closed Closed
  • Priority: Minor Minor
  • Resolution: Fixed
  • Affects Version/s: 2.3-M1
  • Fix Version/s: 2.3-M4
  • Component/s: referencing
  • Labels:
    None
  • Number of attachments :
    0

Description

The source and target dimensions in OperationMethod was declared mandatory by ISO 19111 at the time the GeoAPI interface has been defined. Those attributes are now optional in latest ISO 19111, which make sense since some operation methods can work on an arbitrary number of dimensions (e.g. Affine Transform). On the Java API size, the implication is a change of the return value type from the primitive int to the wrapper Integer. Client code could be recompiled with no change, but would be exposed to the risk of NullPointerException.

This JIRA task proposes to align OperationMethod on latest ISO specification and make [source|target] dimension optional.

Pros:

  • ISO 19111 conformance
  • Resolve problematic case like what are the dimension of an Affine Transform operation method?

Cons:

  • User code, if not changed, would continue to compile (because of Java 5 auto-boxing) but would be exposed to NullPointerException at runtime.

Issue Links

Activity

Hide
Martin Desruisseaux added a comment -

Commited on trunk as of revision 1479.

Show
Martin Desruisseaux added a comment - Commited on trunk as of revision 1479.

People

Vote (0)
Watch (0)

Dates

  • Created:
    Updated:
    Resolved:

Time Tracking

Estimated:
15m
Original Estimate - 15 minutes
Remaining:
15m
Remaining Estimate - 15 minutes
Logged:
Not Specified
Time Spent - Not Specified