Skip to content

Commit 71d2535

Browse files
committed
Merge branch 'main' into feature-affine-transform
2 parents e380178 + 39efaa9 commit 71d2535

File tree

2 files changed

+20
-25
lines changed

2 files changed

+20
-25
lines changed

citydb-query/src/main/java/org/citydb/query/filter/encoding/FilterJSONWriter.java

Lines changed: 7 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -104,7 +104,7 @@ public void visit(Between between) {
104104
@Override
105105
public void visit(BinaryBooleanPredicate predicate) {
106106
startOp(predicate.getOperator().getJSONToken().value());
107-
writeList(predicate.getOperands(), jsonWriter::writeComma);
107+
writeList(predicate.getOperands(), jsonWriter);
108108
endOp();
109109
}
110110

@@ -163,7 +163,7 @@ public void visit(Function function) {
163163
negate(function);
164164
} else {
165165
startOp(function.getName().getJsonToken());
166-
writeList(function.getArguments(), jsonWriter::writeComma);
166+
writeList(function.getArguments(), jsonWriter);
167167
endOp();
168168
}
169169
}
@@ -182,7 +182,7 @@ public void visit(In in) {
182182
in.getOperand().accept(this);
183183
jsonWriter.writeComma();
184184
jsonWriter.startArray();
185-
writeList(in.getValues(), jsonWriter::writeComma);
185+
writeList(in.getValues(), jsonWriter);
186186
jsonWriter.endArray();
187187
endOp();
188188
}
@@ -296,18 +296,13 @@ private void negate(NumericExpression expression) {
296296
expression.negate();
297297
}
298298

299-
private void writeList(List<? extends Expression> expressions, DelimiterWriter delimiter) {
299+
private void writeList(List<? extends Expression> expressions, JSONWriter writer) {
300300
for (int i = 0; i < expressions.size(); i++) {
301-
expressions.get(i).accept(this);
302-
if (i < expressions.size() - 1) {
303-
delimiter.write();
301+
if (i != 0) {
302+
writer.writeComma();
304303
}
304+
expressions.get(i).accept(this);
305305
}
306306
}
307307
}
308-
309-
@FunctionalInterface
310-
private interface DelimiterWriter {
311-
void write();
312-
}
313308
}

citydb-query/src/main/java/org/citydb/query/filter/encoding/GeoJSONWriter.java

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -75,10 +75,10 @@ private void writeMultiPoint(MultiPoint multiPoint) {
7575

7676
if (!multiPoint.getPoints().isEmpty()) {
7777
for (int i = 0; i < multiPoint.getPoints().size(); i++) {
78-
writeCoordinate(multiPoint.getPoints().get(i).getCoordinate());
79-
if (i < multiPoint.getPoints().size() - 1) {
78+
if (i != 0) {
8079
jsonWriter.writeComma();
8180
}
81+
writeCoordinate(multiPoint.getPoints().get(i).getCoordinate());
8282
}
8383
}
8484

@@ -93,10 +93,10 @@ private void writeMultiLineString(MultiLineString multiLineString) {
9393
if (!multiLineString.getLineStrings().isEmpty()) {
9494
jsonWriter.startArray();
9595
for (int i = 0; i < multiLineString.getLineStrings().size(); i++) {
96-
writeCoordinates(multiLineString.getLineStrings().get(i));
97-
if (i < multiLineString.getLineStrings().size() - 1) {
96+
if (i != 0) {
9897
jsonWriter.writeComma();
9998
}
99+
writeCoordinates(multiLineString.getLineStrings().get(i));
100100
}
101101
jsonWriter.endArray();
102102
}
@@ -112,10 +112,10 @@ private void writeMultiSurface(SurfaceCollection<?> surfaceCollection) {
112112
if (!surfaceCollection.getPolygons().isEmpty()) {
113113
jsonWriter.startArray();
114114
for (int i = 0; i < surfaceCollection.getPolygons().size(); i++) {
115-
writeCoordinates(surfaceCollection.getPolygons().get(i));
116-
if (i < surfaceCollection.getPolygons().size() - 1) {
115+
if (i != 0) {
117116
jsonWriter.writeComma();
118117
}
118+
writeCoordinates(surfaceCollection.getPolygons().get(i));
119119
}
120120
jsonWriter.endArray();
121121
}
@@ -139,19 +139,19 @@ private void writeCoordinate(Coordinate coordinate) {
139139

140140
private void writeCoordinates(LineString lineString) {
141141
for (int i = 0; i < lineString.getPoints().size(); i++) {
142-
writeCoordinate(lineString.getPoints().get(i));
143-
if (i < lineString.getPoints().size() - 1) {
142+
if (i != 0) {
144143
jsonWriter.writeComma();
145144
}
145+
writeCoordinate(lineString.getPoints().get(i));
146146
}
147147
}
148148

149149
private void writeCoordinates(LinearRing linearRing) {
150150
for (int i = 0; i < linearRing.getPoints().size(); i++) {
151-
writeCoordinate(linearRing.getPoints().get(i));
152-
if (i < linearRing.getPoints().size() - 1) {
151+
if (i != 0) {
153152
jsonWriter.writeComma();
154153
}
154+
writeCoordinate(linearRing.getPoints().get(i));
155155
}
156156
}
157157

@@ -163,12 +163,12 @@ private void writeCoordinates(Polygon polygon) {
163163
if (polygon.hasInteriorRings()) {
164164
jsonWriter.writeComma();
165165
for (int i = 0; i < polygon.getInteriorRings().size(); i++) {
166+
if (i != 0) {
167+
jsonWriter.writeComma();
168+
}
166169
jsonWriter.startArray();
167170
writeCoordinates(polygon.getInteriorRings().get(i));
168171
jsonWriter.endArray();
169-
if (i < polygon.getInteriorRings().size() - 1) {
170-
jsonWriter.writeComma();
171-
}
172172
}
173173
}
174174
}

0 commit comments

Comments
 (0)