From 5954f80e56b7f786a79e48381a47d5b3f0dc1dc7 Mon Sep 17 00:00:00 2001 From: Simon Templer Date: Wed, 4 Dec 2024 09:13:36 +0100 Subject: [PATCH 1/4] build!: compile for Java 17 --- build.gradle | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/build.gradle b/build.gradle index 4b89b7c..9e0b24d 100644 --- a/build.gradle +++ b/build.gradle @@ -6,8 +6,11 @@ plugins { group = 'com.github.wetransform-os' -sourceCompatibility = 1.8 -targetCompatibility = 1.8 +java { + toolchain { + languageVersion = JavaLanguageVersion.of(17) + } +} repositories { maven { From ec0b16b166829a442c69a7bb790ef775130c7b35 Mon Sep 17 00:00:00 2001 From: Simon Templer Date: Wed, 4 Dec 2024 09:15:52 +0100 Subject: [PATCH 2/4] chore: remove eclipse project files --- .classpath | 14 -------------- .gitignore | 4 ++++ .project | 17 ----------------- .settings/org.eclipse.jdt.core.prefs | 11 ----------- 4 files changed, 4 insertions(+), 42 deletions(-) delete mode 100644 .classpath delete mode 100644 .project delete mode 100644 .settings/org.eclipse.jdt.core.prefs diff --git a/.classpath b/.classpath deleted file mode 100644 index a51ea40..0000000 --- a/.classpath +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - - - - - - - - diff --git a/.gitignore b/.gitignore index 3c364ce..e658f8a 100644 --- a/.gitignore +++ b/.gitignore @@ -9,3 +9,7 @@ build .idea/ + +.project +.classpath +.settings/ diff --git a/.project b/.project deleted file mode 100644 index fb0873a..0000000 --- a/.project +++ /dev/null @@ -1,17 +0,0 @@ - - - topojson-java - - - - - - org.eclipse.jdt.core.javabuilder - - - - - - org.eclipse.jdt.core.javanature - - diff --git a/.settings/org.eclipse.jdt.core.prefs b/.settings/org.eclipse.jdt.core.prefs deleted file mode 100644 index 8000cd6..0000000 --- a/.settings/org.eclipse.jdt.core.prefs +++ /dev/null @@ -1,11 +0,0 @@ -eclipse.preferences.version=1 -org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled -org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6 -org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve -org.eclipse.jdt.core.compiler.compliance=1.6 -org.eclipse.jdt.core.compiler.debug.lineNumber=generate -org.eclipse.jdt.core.compiler.debug.localVariable=generate -org.eclipse.jdt.core.compiler.debug.sourceFile=generate -org.eclipse.jdt.core.compiler.problem.assertIdentifier=error -org.eclipse.jdt.core.compiler.problem.enumIdentifier=error -org.eclipse.jdt.core.compiler.source=1.6 From fae148a4dd16e39020eb96f0547e19614c559159 Mon Sep 17 00:00:00 2001 From: Simon Templer Date: Wed, 4 Dec 2024 09:20:05 +0100 Subject: [PATCH 3/4] fix(deps): update Geotools to 32.1 BREAKING CHANGE: Geotools update includes breaking changes that affect this library's API. --- .gitignore | 2 ++ build.gradle | 14 +++++++++----- data/.gitignore | 1 + data/example.csv | Bin 1628989 -> 0 bytes src/json/converter/shp/ShpFileReader.java | 2 +- src/json/geojson/objects/Point.java | 2 +- src/json/geojson/objects/Polygon.java | 2 +- src/json/tools/Toolbox.java | 4 ++-- src/json/topojson/api/TopojsonApi.java | 2 +- unittest/TilesExplosion.java | 2 +- unittest/TilesTesting.java | 2 +- unittest/testAssociation.java | 2 +- unittest/testFillPolygon.java | 2 +- unittest/testTopojson.java | 2 +- 14 files changed, 23 insertions(+), 16 deletions(-) create mode 100644 data/.gitignore delete mode 100644 data/example.csv diff --git a/.gitignore b/.gitignore index e658f8a..167364b 100644 --- a/.gitignore +++ b/.gitignore @@ -13,3 +13,5 @@ build .project .classpath .settings/ + +/web/ diff --git a/build.gradle b/build.gradle index 9e0b24d..b5b8b91 100644 --- a/build.gradle +++ b/build.gradle @@ -19,6 +19,10 @@ repositories { mavenCentral() } +ext { + geotoolsVersion = '32.1' +} + dependencies { implementation 'org.lz4:lz4-java:1.8.0' // Apache 2.0 implementation 'com.github.albfernandez:javadbf:1.14.1' // LGPL 3.0 @@ -26,11 +30,11 @@ dependencies { implementation 'org.apache.commons:commons-lang3:3.17.0' // Apache 2.0 // GeoTools (LGPL 2.1) - implementation 'org.geotools:gt-main:29.6' - implementation 'org.geotools:gt-epsg-hsql:29.6' - implementation 'org.geotools:gt-opengis:29.6' -// implementation 'org.geotools:gt-geometry:24.2' - implementation 'org.geotools:gt-referencing:29.6' + implementation "org.geotools:gt-main:${geotoolsVersion}" + implementation "org.geotools:gt-epsg-hsql:${geotoolsVersion}" + implementation "org.geotools:gt-api:${geotoolsVersion}" +// implementation "org.geotools:gt-geometry:${geotoolsVersion}" + implementation "org.geotools:gt-referencing:${geotoolsVersion}" implementation 'javax.xml.bind:jaxb-api:2.3.1' implementation 'com.sun.xml.bind:jaxb-core:2.3.0.1' diff --git a/data/.gitignore b/data/.gitignore new file mode 100644 index 0000000..6e618ca --- /dev/null +++ b/data/.gitignore @@ -0,0 +1 @@ +example.csv \ No newline at end of file diff --git a/data/example.csv b/data/example.csv deleted file mode 100644 index 73b557e649fa42e310e9d38c738a73f6e59c57ac..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1628989 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

g%INSZ8SN) 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 Xw$P{(75Vwp{v7q$d|J(lq?W?#e diff --git a/src/json/converter/shp/ShpFileReader.java b/src/json/converter/shp/ShpFileReader.java index 5c5ff88..ba3ea09 100644 --- a/src/json/converter/shp/ShpFileReader.java +++ b/src/json/converter/shp/ShpFileReader.java @@ -8,7 +8,7 @@ import java.io.IOException; import java.util.regex.Pattern; -import org.opengis.referencing.crs.CoordinateReferenceSystem; +import org.geotools.api.referencing.crs.CoordinateReferenceSystem; import json.converter.csv.CSVReader; import json.converter.csv.merger.Merger; diff --git a/src/json/geojson/objects/Point.java b/src/json/geojson/objects/Point.java index a0c895b..2b831ad 100644 --- a/src/json/geojson/objects/Point.java +++ b/src/json/geojson/objects/Point.java @@ -5,7 +5,7 @@ import java.io.DataInputStream; import java.io.IOException; -import org.opengis.referencing.crs.CoordinateReferenceSystem; +import org.geotools.api.referencing.crs.CoordinateReferenceSystem; import json.graphic.Colorifier; import json.graphic.Display; diff --git a/src/json/geojson/objects/Polygon.java b/src/json/geojson/objects/Polygon.java index e9d979a..0bfe321 100644 --- a/src/json/geojson/objects/Polygon.java +++ b/src/json/geojson/objects/Polygon.java @@ -8,7 +8,7 @@ import java.util.Vector; import org.apache.commons.lang3.ArrayUtils; -import org.opengis.referencing.crs.CoordinateReferenceSystem; +import org.geotools.api.referencing.crs.CoordinateReferenceSystem; import json.algorithm.DouglasPeucker; import json.graphic.Colorifier; diff --git a/src/json/tools/Toolbox.java b/src/json/tools/Toolbox.java index 63f6f34..418f726 100644 --- a/src/json/tools/Toolbox.java +++ b/src/json/tools/Toolbox.java @@ -13,8 +13,8 @@ import org.locationtech.jts.geom.Coordinate; import org.locationtech.jts.geom.GeometryFactory; import org.locationtech.jts.geom.Point; -import org.opengis.referencing.crs.CoordinateReferenceSystem; -import org.opengis.referencing.operation.MathTransform; +import org.geotools.api.referencing.crs.CoordinateReferenceSystem; +import org.geotools.api.referencing.operation.MathTransform; public class Toolbox { diff --git a/src/json/topojson/api/TopojsonApi.java b/src/json/topojson/api/TopojsonApi.java index 6dfa998..a6cf55c 100644 --- a/src/json/topojson/api/TopojsonApi.java +++ b/src/json/topojson/api/TopojsonApi.java @@ -13,7 +13,7 @@ import net.jpountz.lz4.LZ4Compressor; import net.jpountz.lz4.LZ4Factory; -import org.opengis.referencing.crs.CoordinateReferenceSystem; +import org.geotools.api.referencing.crs.CoordinateReferenceSystem; import json.converter.csv.merger.Merger; import json.converter.shp.ShpFileReader; diff --git a/unittest/TilesExplosion.java b/unittest/TilesExplosion.java index 672f4ab..369d58c 100644 --- a/unittest/TilesExplosion.java +++ b/unittest/TilesExplosion.java @@ -7,7 +7,7 @@ import json.topojson.api.TopojsonApi; import json.topojson.topology.Topology; import org.geotools.referencing.CRS; -import org.opengis.referencing.FactoryException; +import org.geotools.api.referencing.FactoryException; public class TilesExplosion { diff --git a/unittest/TilesTesting.java b/unittest/TilesTesting.java index 5acb604..1ffc907 100644 --- a/unittest/TilesTesting.java +++ b/unittest/TilesTesting.java @@ -15,7 +15,7 @@ import json.topojson.api.TopojsonApi; import json.topojson.topology.Topology; import org.geotools.referencing.CRS; -import org.opengis.referencing.FactoryException; +import org.geotools.api.referencing.FactoryException; public class TilesTesting implements DisplayListener { diff --git a/unittest/testAssociation.java b/unittest/testAssociation.java index 6f8b16b..3748b52 100644 --- a/unittest/testAssociation.java +++ b/unittest/testAssociation.java @@ -14,7 +14,7 @@ import json.topojson.api.TopojsonApi; import json.topojson.topology.Topology; import org.geotools.referencing.CRS; -import org.opengis.referencing.FactoryException; +import org.geotools.api.referencing.FactoryException; public class testAssociation { diff --git a/unittest/testFillPolygon.java b/unittest/testFillPolygon.java index a09a547..59fe303 100644 --- a/unittest/testFillPolygon.java +++ b/unittest/testFillPolygon.java @@ -11,7 +11,7 @@ import json.topojson.api.TopojsonApi; import json.topojson.topology.Topology; import org.geotools.referencing.CRS; -import org.opengis.referencing.FactoryException; +import org.geotools.api.referencing.FactoryException; public class testFillPolygon { diff --git a/unittest/testTopojson.java b/unittest/testTopojson.java index 1f88742..4d7635f 100644 --- a/unittest/testTopojson.java +++ b/unittest/testTopojson.java @@ -24,7 +24,7 @@ import org.junit.Test; import com.google.gson.Gson; -import org.opengis.referencing.FactoryException; +import org.geotools.api.referencing.FactoryException; @Ignore("Not working because reference systems cannot be resolved") From 9ad0166acd491a21bb49f99232cd0f35e72ebeb8 Mon Sep 17 00:00:00 2001 From: Simon Templer Date: Wed, 4 Dec 2024 09:23:00 +0100 Subject: [PATCH 4/4] fix: don't use deprecated way to convert string to Integer/Double --- src/json/converter/csv/builder/ColumnBuilder.java | 2 +- src/json/converter/shp/ShpFileReader.java | 2 +- src/json/geojson/FeatureCollection.java | 8 ++++---- src/json/graphic/JenksColorifierGeojson.java | 4 ++-- src/json/topojson/topology/Topology.java | 8 ++++---- unittest/graphics/CensusColorifier.java | 4 ++-- 6 files changed, 14 insertions(+), 14 deletions(-) diff --git a/src/json/converter/csv/builder/ColumnBuilder.java b/src/json/converter/csv/builder/ColumnBuilder.java index 5a25668..65a56a4 100644 --- a/src/json/converter/csv/builder/ColumnBuilder.java +++ b/src/json/converter/csv/builder/ColumnBuilder.java @@ -35,7 +35,7 @@ public String format(String[] iRow){ String aVal = iRow[_key]; switch (_type) { - case INTEGER: return String.format(_format,new Integer(aVal.equals("")?"0":aVal)); + case INTEGER: return String.format(_format,Integer.valueOf(aVal.equals("")?"0":aVal)); case STRING: return String.format(_format,aVal); } return ""; diff --git a/src/json/converter/shp/ShpFileReader.java b/src/json/converter/shp/ShpFileReader.java index ba3ea09..d71e8b6 100644 --- a/src/json/converter/shp/ShpFileReader.java +++ b/src/json/converter/shp/ShpFileReader.java @@ -303,7 +303,7 @@ public void readRecord(){ } } - _groupRecord._shapes.put(new Integer(aRecordNumber), aFeature); + _groupRecord._shapes.put(Integer.valueOf(aRecordNumber), aFeature); } else { diff --git a/src/json/geojson/FeatureCollection.java b/src/json/geojson/FeatureCollection.java index dbe42df..e8f1fed 100644 --- a/src/json/geojson/FeatureCollection.java +++ b/src/json/geojson/FeatureCollection.java @@ -103,8 +103,8 @@ public FeatureCollection processTileElement(TileElement iTileE){ } } - aGroupRecord._meta_properties.put("x", new Integer(iTileE.x)); - aGroupRecord._meta_properties.put("y", new Integer(iTileE.y)); + aGroupRecord._meta_properties.put("x", Integer.valueOf(iTileE.x)); + aGroupRecord._meta_properties.put("y", Integer.valueOf(iTileE.y)); return aGroupRecord; @@ -253,8 +253,8 @@ public FeatureCollection[][] groupGridDivide(int iZoom/*int iN, int iM*/){ } aDividedResult[i][j] = aGroupRecord; - aGroupRecord._meta_properties.put("x", new Integer(x)); - aGroupRecord._meta_properties.put("y", new Integer(y)); + aGroupRecord._meta_properties.put("x", Integer.valueOf(x)); + aGroupRecord._meta_properties.put("y", Integer.valueOf(y)); } diff --git a/src/json/graphic/JenksColorifierGeojson.java b/src/json/graphic/JenksColorifierGeojson.java index 7d9327f..9b07653 100644 --- a/src/json/graphic/JenksColorifierGeojson.java +++ b/src/json/graphic/JenksColorifierGeojson.java @@ -43,7 +43,7 @@ public void init(){ if (toconvert!=null) { try { - aArrayProp.add(new Double((String) toconvert)); + aArrayProp.add(Double.valueOf((String) toconvert)); } catch (java.lang.NumberFormatException e){ // Unable to decode this string } @@ -83,7 +83,7 @@ public Color getColor(java.lang.Object properties) { try { - double value = new Double((String) aProp.get(_param)); + double value = Double.valueOf((String) aProp.get(_param)); for (int i=0;ivalue)){ diff --git a/src/json/topojson/topology/Topology.java b/src/json/topojson/topology/Topology.java index 16aca59..c0fb44e 100644 --- a/src/json/topojson/topology/Topology.java +++ b/src/json/topojson/topology/Topology.java @@ -105,8 +105,8 @@ public void setArcs(ArcMap iArcMap){ for (int i=0; ivalue)){