Skip to content

Commit d45e440

Browse files
seabamirumAndy2003
andauthored
Minor version updates and code polishes (#395)
Co-authored-by: Andreas Berger <andreas@berger-ecommerce.com>
1 parent 2f09879 commit d45e440

29 files changed

+57
-212
lines changed

.github/actions/setup-jdk/action.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
name: "Setups JDK"
2-
description: "Setups JDK 17"
2+
description: "Setups JDK 21"
33
runs:
44
using: "composite"
55
steps:
66
- name: Setup Java JDK
77
uses: actions/setup-java@v4
88
with:
9-
java-version: 17
9+
java-version: 21
1010
distribution: adopt
Loading
Loading
Loading
Loading
Loading
Loading
Loading
Loading

pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/maven-v4_0_0.xsd">
44
<properties>
55
<neo4j.version>5.26.2</neo4j.version>
6-
<neo4j.java.version>17</neo4j.java.version>
6+
<neo4j.java.version>21</neo4j.java.version>
77
<skinGroupId>org.neo4j.maven.skins</skinGroupId>
88
<skinArtifactId>default-skin</skinArtifactId>
99
<skinVersion>2</skinVersion>

src/main/java/org/geotools/data/neo4j/Neo4jSpatialDataStore.java

Lines changed: 0 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -229,20 +229,4 @@ public Style getStyle(String typeName) {
229229
}
230230
return result;
231231
}
232-
233-
private EditableLayer getEditableLayer(String typeName) throws IOException {
234-
try (Transaction tx = database.beginTx()) {
235-
Layer layer = spatialDatabase.getLayer(tx, typeName);
236-
if (layer == null) {
237-
throw new IOException("Layer not found: " + typeName);
238-
}
239-
240-
if (!(layer instanceof EditableLayer)) {
241-
throw new IOException("Cannot create a FeatureWriter on a read-only layer: " + layer);
242-
}
243-
tx.commit();
244-
245-
return (EditableLayer) layer;
246-
}
247-
}
248232
}

src/main/java/org/neo4j/gis/spatial/DynamicLayerConfig.java

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,6 @@
2020
package org.neo4j.gis.spatial;
2121

2222
import java.io.File;
23-
import java.io.PrintStream;
2423
import java.util.LinkedHashMap;
2524
import java.util.List;
2625
import java.util.Map;
@@ -169,12 +168,6 @@ public String[] getNames() {
169168
public int getNodeCount() {
170169
return nodeCount;
171170
}
172-
173-
public void describeUsage(PrintStream out) {
174-
for (String name : names.keySet()) {
175-
out.println(name + "\t" + names.get(name));
176-
}
177-
}
178171
}
179172

180173
/**
@@ -196,7 +189,6 @@ public void restrictLayerProperties(Transaction tx) {
196189
System.out.println(
197190
"After property scan of " + search.getNodeCount() + " nodes, we have " + getExtraPropertyNames(
198191
tx).length + " known attributes for layer " + getName());
199-
// search.describeUsage(System.out);
200192
}
201193

202194
public Node configNode(Transaction tx) {

src/main/java/org/neo4j/gis/spatial/SpatialDatabaseRecord.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,7 @@ public void refreshGeomNode(Transaction tx) {
7171
* @deprecated This method is of questionable value, since it is better to
7272
* query the geometry object directly, outside the result
7373
*/
74+
@Deprecated
7475
public int getType() {
7576
//TODO: Get the type from the geometryEncoder
7677
return SpatialDatabaseService.convertJtsClassToGeometryType(getGeometry().getClass());

src/main/java/org/neo4j/gis/spatial/SpatialDatabaseService.java

Lines changed: 0 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,6 @@
5151
import org.neo4j.graphdb.Direction;
5252
import org.neo4j.graphdb.Node;
5353
import org.neo4j.graphdb.Relationship;
54-
import org.neo4j.graphdb.RelationshipType;
5554
import org.neo4j.graphdb.Transaction;
5655

5756
/**
@@ -285,17 +284,6 @@ public Layer findLayerContainingGeometryNode(Transaction tx, Node geometryNode)
285284
return null;
286285
}
287286

288-
private Layer getLayerFromChild(Transaction tx, Node child, RelationshipType relType) {
289-
Relationship indexRel = child.getSingleRelationship(relType, Direction.INCOMING);
290-
if (indexRel != null) {
291-
Node layerNode = indexRel.getStartNode();
292-
if (layerNode.hasProperty(PROP_LAYER)) {
293-
return LayerUtilities.makeLayerFromNode(tx, indexManager, layerNode);
294-
}
295-
}
296-
return null;
297-
}
298-
299287
public boolean containsLayer(Transaction tx, String name) {
300288
return getLayer(tx, name) != null;
301289
}

src/main/java/org/neo4j/gis/spatial/WKBGeometryEncoder.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,11 +24,10 @@
2424
import org.locationtech.jts.io.WKBReader;
2525
import org.locationtech.jts.io.WKBWriter;
2626
import org.neo4j.gis.spatial.encoders.AbstractSinglePropertyEncoder;
27-
import org.neo4j.gis.spatial.encoders.Configurable;
2827
import org.neo4j.graphdb.Entity;
2928
import org.neo4j.graphdb.Transaction;
3029

31-
public class WKBGeometryEncoder extends AbstractSinglePropertyEncoder implements Configurable {
30+
public class WKBGeometryEncoder extends AbstractSinglePropertyEncoder {
3231

3332
@Override
3433
public Geometry decodeGeometry(Entity container) {

src/main/java/org/neo4j/gis/spatial/WKTGeometryEncoder.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,11 +24,10 @@
2424
import org.locationtech.jts.io.WKTReader;
2525
import org.locationtech.jts.io.WKTWriter;
2626
import org.neo4j.gis.spatial.encoders.AbstractSinglePropertyEncoder;
27-
import org.neo4j.gis.spatial.encoders.Configurable;
2827
import org.neo4j.graphdb.Entity;
2928
import org.neo4j.graphdb.Transaction;
3029

31-
public class WKTGeometryEncoder extends AbstractSinglePropertyEncoder implements Configurable {
30+
public class WKTGeometryEncoder extends AbstractSinglePropertyEncoder {
3231

3332
@Override
3433
public Geometry decodeGeometry(Entity container) {

src/main/java/org/neo4j/gis/spatial/attributes/PropertyMapper.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@
2121

2222
import java.util.HashMap;
2323
import org.neo4j.graphdb.Node;
24-
import org.neo4j.graphdb.Transaction;
2524

2625
public abstract class PropertyMapper {
2726

@@ -45,7 +44,7 @@ public boolean equals(Object obj) {
4544
return false;
4645
}
4746

48-
protected void save(Transaction tx, Node node) {
47+
protected void save(Node node) {
4948
node.setProperty("from", this.from);
5049
node.setProperty("to", this.to);
5150
node.setProperty("type", this.type);

src/main/java/org/neo4j/gis/spatial/attributes/PropertyMappingManager.java

Lines changed: 1 addition & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,7 @@ private void save(Transaction tx) {
7979
}
8080
for (PropertyMapper mapper : toSave) {
8181
Node node = tx.createNode();
82-
mapper.save(tx, node);
82+
mapper.save(node);
8383
layer.getLayerNode(tx).createRelationshipTo(node, SpatialRelationshipTypes.PROPERTY_MAPPING);
8484
}
8585
}
@@ -89,14 +89,6 @@ private void addPropertyMapper(Transaction tx, PropertyMapper mapper) {
8989
save(tx);
9090
}
9191

92-
private PropertyMapper removePropertyMapper(Transaction tx, String to) {
93-
PropertyMapper mapper = getPropertyMappers(tx).remove(to);
94-
if (mapper != null) {
95-
save(tx);
96-
}
97-
return mapper;
98-
}
99-
10092
public PropertyMapper getPropertyMapper(Transaction tx, String to) {
10193
return getPropertyMappers(tx).get(to);
10294
}

src/main/java/org/neo4j/gis/spatial/filter/SearchCQL.java

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -38,22 +38,19 @@
3838
*/
3939
public class SearchCQL implements SearchFilter {
4040

41-
private final Transaction tx;
4241
private final Neo4jFeatureBuilder featureBuilder;
4342
private final Layer layer;
4443
private final org.geotools.api.filter.Filter filter;
4544
private final Envelope filterEnvelope;
4645

4746
public SearchCQL(Transaction tx, Layer layer, org.geotools.api.filter.Filter filter) {
48-
this.tx = tx;
4947
this.layer = layer;
5048
this.featureBuilder = Neo4jFeatureBuilder.fromLayer(tx, layer);
5149
this.filter = filter;
5250
this.filterEnvelope = Utilities.extractEnvelopeFromFilter(filter);
5351
}
5452

5553
public SearchCQL(Transaction tx, Layer layer, String cql) {
56-
this.tx = tx;
5754
this.layer = layer;
5855
this.featureBuilder = Neo4jFeatureBuilder.fromLayer(tx, layer);
5956
try {

src/main/java/org/neo4j/gis/spatial/index/IndexManager.java

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -248,11 +248,9 @@ private String description() {
248248
private class IndexRemover implements Runnable {
249249

250250
private final IndexDefinition index;
251-
private Exception e;
252251

253252
private IndexRemover(IndexDefinition index) {
254253
this.index = index;
255-
this.e = null;
256254
}
257255

258256
@Override
@@ -266,8 +264,7 @@ public void run() {
266264
}
267265
tx.commit();
268266
}
269-
} catch (Exception e) {
270-
this.e = e;
267+
} catch (Exception ignored) {
271268
}
272269
}
273270
}

src/main/java/org/neo4j/gis/spatial/index/LayerSpaceFillingCurvePointIndex.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424
import java.util.ArrayList;
2525
import java.util.Iterator;
2626
import java.util.List;
27+
2728
import org.geotools.api.referencing.crs.CoordinateReferenceSystem;
2829
import org.geotools.api.referencing.cs.CoordinateSystemAxis;
2930
import org.locationtech.jts.geom.Geometry;

src/main/java/org/neo4j/gis/spatial/osm/OSMImporter.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -505,7 +505,7 @@ void logNodesFound(long currentTime) {
505505
LogCounter found = nodeFindStats.get(type);
506506
double rate = 0.0f;
507507
if (found.totalTime > 0) {
508-
rate = (1000.0 * (float) found.count / (float) found.totalTime);
508+
rate = (1000.0 * found.count / found.totalTime);
509509
}
510510
System.out.println("\t" + type + ": \t" + found.count
511511
+ "/" + (found.totalTime / 1000)
@@ -532,8 +532,8 @@ void logNodeAddition(LinkedHashMap<String, Object> tags,
532532
}
533533
if (currentTime - logTime > 1432) {
534534
System.out.println(
535-
new Date(currentTime) + ": Saving " + type + " " + count + " \t(" + (1000.0 * (float) count
536-
/ (float) (currentTime - firstLogTime)) + " " + type + "/second)");
535+
new Date(currentTime) + ": Saving " + type + " " + count + " \t(" + (1000.0 * count
536+
/ (currentTime - firstLogTime)) + " " + type + "/second)");
537537
logTime = currentTime;
538538
}
539539
}

src/main/java/org/neo4j/gis/spatial/procedures/SpatialProcedures.java

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -173,11 +173,12 @@ public Stream<NameResult> listProcedures() {
173173
GlobalProcedures procedures = ((GraphDatabaseAPI) db).getDependencyResolver()
174174
.resolveDependency(GlobalProcedures.class);
175175
Stream.Builder<NameResult> builder = Stream.builder();
176-
procedures.getCurrentView().getAllProcedures(QueryLanguage.CYPHER_5).forEach(proc -> {
177-
if (proc.name().namespace()[0].equals("spatial")) {
178-
builder.accept(new NameResult(proc.name().toString(), proc.toString()));
179-
}
180-
});
176+
177+
procedures.getCurrentView().getAllProcedures(QueryLanguage.CYPHER_5)
178+
.filter(proc -> proc.name().namespace()[0].equals("spatial"))
179+
.map(proc -> new NameResult(proc.name().toString(), proc.toString()))
180+
.forEach(builder);
181+
181182
return builder.build();
182183
}
183184

src/main/java/org/neo4j/gis/spatial/rtree/RTreeIndex.java

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@
2828
import java.util.List;
2929
import java.util.Map;
3030
import java.util.stream.Collectors;
31+
import java.util.stream.StreamSupport;
3132
import javax.annotation.Nonnull;
3233
import org.json.simple.JSONObject;
3334
import org.json.simple.JSONValue;
@@ -237,7 +238,7 @@ public void add(Transaction tx, List<Node> geomNodes) {
237238
}
238239
nodesToAdd.addAll(geomNodes);
239240
detachGeometryNodes(tx, false, getIndexRoot(tx), new NullListener());
240-
deleteTreeBelow(tx, getIndexRoot(tx));
241+
deleteTreeBelow(getIndexRoot(tx));
241242
buildRtreeFromScratch(tx, getIndexRoot(tx), decodeGeometryNodeEnvelopes(nodesToAdd), 0.7);
242243
countSaved = false;
243244
totalGeometryCount = nodesToAdd.size();
@@ -1068,13 +1069,9 @@ private static Node chooseIndexNodeWithSmallestArea(List<Node> indexNodes) {
10681069
}
10691070

10701071
private static int countChildren(Node indexNode, RelationshipType relationshipType) {
1071-
int counter = 0;
10721072
try (var relationships = indexNode.getRelationships(Direction.OUTGOING, relationshipType)) {
1073-
for (Relationship ignored : relationships) {
1074-
counter++;
1075-
}
1073+
return (int) StreamSupport.stream(relationships.spliterator(), false).count();
10761074
}
1077-
return counter;
10781075
}
10791076

10801077
/**
@@ -1409,7 +1406,7 @@ private static double getArea(Envelope e) {
14091406
return e.getArea();
14101407
}
14111408

1412-
private static void deleteTreeBelow(Transaction ignored, Node rootNode) {
1409+
private static void deleteTreeBelow(Node rootNode) {
14131410
try (var relationships = rootNode.getRelationships(Direction.OUTGOING, RTreeRelationshipTypes.RTREE_CHILD)) {
14141411
for (Relationship relationship : relationships) {
14151412
deleteRecursivelySubtree(relationship.getEndNode(), relationship);

0 commit comments

Comments
 (0)