Skip to content

Commit c2ac0b7

Browse files
committed
Fix remaining review issues in #12346
1 parent 8974a98 commit c2ac0b7

2 files changed

Lines changed: 10 additions & 7 deletions

File tree

api/src/main/java/org/apache/iceberg/types/Types.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,6 @@ public static Type fromTypeName(String typeString) {
8181
Matcher geometry = GEOMETRY_PARAMETERS.matcher(typeString);
8282
if (geometry.matches()) {
8383
String crs = geometry.group(1);
84-
Preconditions.checkArgument(!crs.contains(","), "Invalid CRS: %s", crs);
8584
return GeometryType.of(crs);
8685
}
8786

@@ -599,7 +598,7 @@ public TypeID typeId() {
599598
}
600599

601600
public String crs() {
602-
return crs;
601+
return crs != null ? crs : DEFAULT_CRS;
603602
}
604603

605604
@Override
@@ -631,6 +630,7 @@ public String toString() {
631630

632631
public static class GeographyType extends PrimitiveType {
633632
public static final String DEFAULT_CRS = "OGC:CRS84";
633+
public static final EdgeAlgorithm DEFAULT_ALGORITHM = EdgeAlgorithm.SPHERICAL;
634634

635635
public static GeographyType crs84() {
636636
return new GeographyType();
@@ -664,11 +664,11 @@ public TypeID typeId() {
664664
}
665665

666666
public String crs() {
667-
return crs;
667+
return crs != null ? crs : DEFAULT_CRS;
668668
}
669669

670670
public EdgeAlgorithm algorithm() {
671-
return algorithm;
671+
return algorithm != null ? algorithm : DEFAULT_ALGORITHM;
672672
}
673673

674674
@Override

api/src/test/java/org/apache/iceberg/types/TestTypes.java

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -98,6 +98,8 @@ public void fromPrimitiveString() {
9898

9999
assertThat(Types.fromPrimitiveString("geometry")).isEqualTo(Types.GeometryType.crs84());
100100
assertThat(Types.fromPrimitiveString("Geometry")).isEqualTo(Types.GeometryType.crs84());
101+
assertThat(((Types.GeometryType) Types.fromPrimitiveString("geometry")).crs())
102+
.isEqualTo(Types.GeometryType.DEFAULT_CRS);
101103
assertThat(Types.fromPrimitiveString("geometry(srid:3857)"))
102104
.isEqualTo(Types.GeometryType.of("srid:3857"));
103105
assertThat(Types.fromPrimitiveString("geometry( srid:3857 )"))
@@ -113,12 +115,13 @@ public void fromPrimitiveString() {
113115
assertThatExceptionOfType(IllegalArgumentException.class)
114116
.isThrownBy(() -> Types.fromPrimitiveString("geometry( )"))
115117
.withMessageContaining("Invalid CRS: (empty string)");
116-
assertThatExceptionOfType(IllegalArgumentException.class)
117-
.isThrownBy(() -> Types.fromPrimitiveString("geometry(srid:123,456)"))
118-
.withMessageContaining("Invalid CRS: srid:123,456");
119118

120119
assertThat(Types.fromPrimitiveString("geography")).isEqualTo(Types.GeographyType.crs84());
121120
assertThat(Types.fromPrimitiveString("Geography")).isEqualTo(Types.GeographyType.crs84());
121+
assertThat(((Types.GeographyType) Types.fromPrimitiveString("geography")).crs())
122+
.isEqualTo(Types.GeographyType.DEFAULT_CRS);
123+
assertThat(((Types.GeographyType) Types.fromPrimitiveString("geography")).algorithm())
124+
.isEqualTo(Types.GeographyType.DEFAULT_ALGORITHM);
122125
assertThat(Types.fromPrimitiveString("geography(srid:4269)"))
123126
.isEqualTo(Types.GeographyType.of("srid:4269"));
124127
assertThat(Types.fromPrimitiveString("geography(srid: 4269)"))

0 commit comments

Comments
 (0)