Skip to content

Commit 3d113ab

Browse files
committed
Use jakarta.json instead of javax.json
Signed-off-by: Taylor Smock <tsmock@meta.com>
1 parent 708c5c2 commit 3d113ab

34 files changed

+219
-199
lines changed

.github/workflows/ant-release.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,6 @@ jobs:
88
call-workflow:
99
uses: JOSM/JOSMPluginAction/.github/workflows/ant.yml@v1
1010
with:
11-
josm-revision: "r18613"
11+
josm-revision: "r18723"
1212

1313

.github/workflows/ant.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ jobs:
1818
call-workflow:
1919
strategy:
2020
matrix:
21-
josm-revision: ["", "r18613"]
21+
josm-revision: ["", "r18723"]
2222
uses: JOSM/JOSMPluginAction/.github/workflows/ant.yml@v1
2323
with:
2424
josm-revision: ${{ matrix.josm-revision }}

build.gradle.kts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -178,6 +178,7 @@ josm {
178178
debugPort = 7051
179179
manifest {
180180
// See https://floscher.gitlab.io/gradle-josm-plugin/kdoc/latest/gradle-josm-plugin/org.openstreetmap.josm.gradle.plugin.config/-josm-manifest/old-version-download-link.html
181+
oldVersionDownloadLink(18613, "2.1.5", URL("https://github.com/JOSM/Mapillary/releases/download/v2.1.5/Mapillary.jar"));
181182
oldVersionDownloadLink(18531, "v2.0.2", URL("https://github.com/JOSM/Mapillary/releases/download/v2.0.2/Mapillary.jar"));
182183
oldVersionDownloadLink(17903, "v2.0.0-alpha.36", URL("https://github.com/JOSM/Mapillary/releases/download/v2.0.0-alpha.36/Mapillary.jar"))
183184
}

gradle.properties

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,11 @@ plugin.icon=images/mapillary-logo.svg
66
plugin.link=https://wiki.openstreetmap.org/wiki/JOSM/Plugins/Mapillary
77
# Minimum required JOSM version to run this plugin, choose the lowest version possible that is compatible.
88
# You can check if the plugin compiles against this version by executing `./gradlew compileJava_minJosm`.
9-
plugin.main.version=18613
9+
plugin.main.version=18723
1010
# Version of JOSM against which the plugin is compiled
1111
# Please check, if the specified version is available for download from https://josm.openstreetmap.de/download/ .
1212
# If not, choose the next higher number that is available, or the gradle build will break.
13-
plugin.compile.version=18613
13+
plugin.compile.version=18724
1414
# The datepicker plugin is currently in the source tree. TODO fix
1515
plugin.requires=apache-commons
1616

src/main/java/org/openstreetmap/josm/plugins/mapillary/actions/SmartEditRemoveAction.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,11 +9,11 @@
99

1010
import javax.annotation.Nonnull;
1111
import javax.annotation.Nullable;
12-
import javax.json.Json;
13-
import javax.json.JsonObjectBuilder;
1412
import javax.swing.JOptionPane;
1513
import javax.swing.text.AbstractDocument;
1614

15+
import jakarta.json.Json;
16+
import jakarta.json.JsonObjectBuilder;
1717
import org.openstreetmap.josm.actions.JosmAction;
1818
import org.openstreetmap.josm.data.vector.VectorPrimitive;
1919
import org.openstreetmap.josm.gui.ConditionalOptionPaneUtil;

src/main/java/org/openstreetmap/josm/plugins/mapillary/cache/Caches.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -23,12 +23,12 @@
2323

2424
import javax.annotation.Nonnull;
2525
import javax.annotation.Nullable;
26-
import javax.json.Json;
27-
import javax.json.JsonReader;
28-
import javax.json.JsonValue;
29-
import javax.json.stream.JsonParser;
3026
import javax.swing.JOptionPane;
3127

28+
import jakarta.json.Json;
29+
import jakarta.json.JsonReader;
30+
import jakarta.json.JsonValue;
31+
import jakarta.json.stream.JsonParser;
3232
import org.apache.commons.jcs3.access.CacheAccess;
3333
import org.apache.commons.jcs3.access.behavior.ICacheAccess;
3434
import org.apache.commons.jcs3.engine.behavior.ICompositeCacheAttributes;
@@ -54,7 +54,7 @@ public final class Caches {
5454

5555
/** The cache for metadata objects */
5656
public static final MapillaryCacheAccess<String> META_DATA_CACHE = new MapillaryCacheAccess<>(
57-
JCSCacheManager.getCache("mapillary:metadata", 100, 100000, getCacheDirectory().getPath()), string -> {
57+
JCSCacheManager.getCache("mapillary:metadata", 100, 100_000, getCacheDirectory().getPath()), string -> {
5858
try (JsonParser reader = Json
5959
.createParser(new ByteArrayInputStream(string.getBytes(StandardCharsets.UTF_8)))) {
6060
while (reader.hasNext()) {

src/main/java/org/openstreetmap/josm/plugins/mapillary/data/mapillary/MapillaryDownloader.java

Lines changed: 10 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,7 @@
33

44
import java.io.ByteArrayInputStream;
55
import java.io.IOException;
6-
import java.net.MalformedURLException;
7-
import java.net.URL;
6+
import java.net.URI;
87
import java.nio.charset.StandardCharsets;
98
import java.util.ArrayList;
109
import java.util.Arrays;
@@ -18,13 +17,13 @@
1817

1918
import javax.annotation.Nonnull;
2019
import javax.annotation.Nullable;
21-
import javax.json.Json;
22-
import javax.json.JsonNumber;
23-
import javax.json.JsonObject;
24-
import javax.json.JsonReader;
25-
import javax.json.JsonString;
26-
import javax.json.JsonValue;
2720

21+
import jakarta.json.Json;
22+
import jakarta.json.JsonNumber;
23+
import jakarta.json.JsonObject;
24+
import jakarta.json.JsonReader;
25+
import jakarta.json.JsonString;
26+
import jakarta.json.JsonValue;
2827
import org.openstreetmap.josm.data.osm.IWay;
2928
import org.openstreetmap.josm.plugins.mapillary.cache.Caches;
3029
import org.openstreetmap.josm.plugins.mapillary.gui.layer.MapillaryLayer;
@@ -156,7 +155,7 @@ private static void separatelyCacheDownloadedImages(final JsonObject jsonObject)
156155
}
157156

158157
@Nullable
159-
static JsonObject getUrlResponse(@Nonnull URL url) {
158+
static JsonObject getUrlResponse(@Nonnull URI url) {
160159
try {
161160
return OAuthUtils.getWithHeader(url);
162161
} catch (IOException e) {
@@ -168,8 +167,8 @@ static JsonObject getUrlResponse(@Nonnull URL url) {
168167
@Nullable
169168
static JsonObject getUrlResponse(@Nonnull String url) {
170169
try {
171-
return getUrlResponse(new URL(url));
172-
} catch (MalformedURLException e) {
170+
return getUrlResponse(URI.create(url));
171+
} catch (IllegalArgumentException e) {
173172
Logging.error(e);
174173
}
175174
return null;

src/main/java/org/openstreetmap/josm/plugins/mapillary/data/mapillary/ObjectDetections.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -16,13 +16,13 @@
1616

1717
import javax.annotation.Nonnull;
1818
import javax.annotation.Nullable;
19-
import javax.json.Json;
20-
import javax.json.JsonArray;
21-
import javax.json.JsonObject;
22-
import javax.json.JsonString;
23-
import javax.json.stream.JsonParser;
2419
import javax.swing.ImageIcon;
2520

21+
import jakarta.json.Json;
22+
import jakarta.json.JsonArray;
23+
import jakarta.json.JsonObject;
24+
import jakarta.json.JsonString;
25+
import jakarta.json.stream.JsonParser;
2626
import org.openstreetmap.josm.data.osm.Tag;
2727
import org.openstreetmap.josm.data.osm.TagMap;
2828
import org.openstreetmap.josm.gui.mappaint.MapPaintStyles;

src/main/java/org/openstreetmap/josm/plugins/mapillary/data/mapillary/OrganizationRecord.java

Lines changed: 22 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
import java.awt.image.BufferedImage;
55
import java.io.IOException;
66
import java.io.Serializable;
7-
import java.net.URL;
7+
import java.net.URI;
88
import java.util.Collection;
99
import java.util.Collections;
1010
import java.util.Map;
@@ -15,9 +15,9 @@
1515
import javax.annotation.Nullable;
1616
import javax.annotation.concurrent.Immutable;
1717
import javax.imageio.ImageIO;
18-
import javax.json.JsonObject;
1918
import javax.swing.ImageIcon;
2019

20+
import jakarta.json.JsonObject;
2121
import org.openstreetmap.josm.data.imagery.vectortile.mapbox.MVTTile;
2222
import org.openstreetmap.josm.data.osm.INode;
2323
import org.openstreetmap.josm.gui.MainApplication;
@@ -85,7 +85,7 @@ private static ImageIcon createAvatarIcon(@Nullable String avatar) {
8585
*/
8686
private static BufferedImage fetchAvatarIcon(String url) {
8787
try {
88-
HttpClient client = HttpClient.create(new URL(url));
88+
HttpClient client = HttpClient.create(URI.create(url).toURL());
8989
OAuthUtils.addAuthenticationHeader(client);
9090
HttpClient.Response response = client.connect();
9191
if (response.getResponseCode() >= 200 && response.getResponseCode() < 400) {
@@ -127,7 +127,7 @@ private static OrganizationRecord getNewOrganization(long id) {
127127
// TODO check for API in v4 (preferably one that doesn't need user auth)
128128
final String url = MapillaryConfig.getUrls().getOrganizationInformation(id);
129129
try {
130-
final JsonObject data = OAuthUtils.getWithHeader(new URL(url));
130+
final JsonObject data = OAuthUtils.getWithHeader(URI.create(url));
131131
final OrganizationRecord organizationRecord = decodeNewOrganization(data);
132132
// Ensure that we aren't blocking the main EDT thread
133133
MainApplication.worker.execute(() -> LISTENERS.fireEvent(l -> l.organizationAdded(organizationRecord)));
@@ -213,15 +213,33 @@ public String getNiceName() {
213213
return niceName;
214214
}
215215

216+
/**
217+
* Add listener for organizations
218+
*
219+
* @param listener The listener to notify when a new organization is added
220+
*/
216221
public static void addOrganizationListener(OrganizationRecordListener listener) {
217222
LISTENERS.addListener(listener);
218223
}
219224

225+
/**
226+
* Remove a listener for organizations
227+
*
228+
* @param listener The listener to remove from the notification list
229+
*/
220230
public static void removeOrganizationListener(OrganizationRecordListener listener) {
221231
LISTENERS.removeListener(listener);
222232
}
223233

234+
/**
235+
* The interface for listening for new organizations
236+
*/
224237
public interface OrganizationRecordListener extends Serializable {
238+
/**
239+
* Called when a new organization is added
240+
*
241+
* @param organization The new organization
242+
*/
225243
void organizationAdded(OrganizationRecord organization);
226244
}
227245

src/main/java/org/openstreetmap/josm/plugins/mapillary/data/mapillary/smartedit/IgnoredObjects.java

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -13,11 +13,10 @@
1313
import java.util.Set;
1414
import java.util.stream.Collectors;
1515

16-
import javax.json.Json;
17-
import javax.json.JsonNumber;
18-
import javax.json.JsonObject;
19-
import javax.json.stream.JsonParser;
20-
16+
import jakarta.json.Json;
17+
import jakarta.json.JsonNumber;
18+
import jakarta.json.JsonObject;
19+
import jakarta.json.stream.JsonParser;
2120
import org.apache.commons.io.FileUtils;
2221
import org.apache.commons.lang3.ArrayUtils;
2322
import org.openstreetmap.josm.gui.MainApplication;

src/main/java/org/openstreetmap/josm/plugins/mapillary/gui/dialog/OldVersionDialog.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -9,13 +9,13 @@
99
import java.util.Optional;
1010

1111
import javax.annotation.Nullable;
12-
import javax.json.Json;
13-
import javax.json.JsonException;
14-
import javax.json.JsonObject;
15-
import javax.json.JsonReader;
16-
import javax.json.JsonValue;
1712
import javax.swing.JOptionPane;
1813

14+
import jakarta.json.Json;
15+
import jakarta.json.JsonException;
16+
import jakarta.json.JsonObject;
17+
import jakarta.json.JsonReader;
18+
import jakarta.json.JsonValue;
1919
import org.openstreetmap.josm.data.Version;
2020
import org.openstreetmap.josm.data.preferences.IntegerProperty;
2121
import org.openstreetmap.josm.data.preferences.StringProperty;

src/main/java/org/openstreetmap/josm/plugins/mapillary/model/ImageDetection.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
import java.awt.Shape;
66
import java.io.ByteArrayInputStream;
77
import java.io.IOException;
8-
import java.net.URL;
8+
import java.net.URI;
99
import java.nio.charset.StandardCharsets;
1010
import java.util.ArrayList;
1111
import java.util.Arrays;
@@ -23,10 +23,10 @@
2323
import java.util.function.Supplier;
2424

2525
import javax.annotation.Nullable;
26-
import javax.json.Json;
27-
import javax.json.JsonObject;
28-
import javax.json.JsonReader;
2926

27+
import jakarta.json.Json;
28+
import jakarta.json.JsonObject;
29+
import jakarta.json.JsonReader;
3030
import org.apache.commons.jcs3.access.CacheAccess;
3131
import org.openstreetmap.josm.data.cache.JCSCacheManager;
3232
import org.openstreetmap.josm.data.osm.IPrimitive;
@@ -333,7 +333,7 @@ private static List<ImageDetection<?>> getDetections(long key) {
333333
final String urlString = MapillaryConfig.getUrls().getDetectionInformation(key);
334334
final String jsonString = Caches.META_DATA_CACHE.get(urlString, () -> {
335335
try {
336-
final JsonObject jsonObject = OAuthUtils.getWithHeader(new URL(urlString));
336+
final JsonObject jsonObject = OAuthUtils.getWithHeader(URI.create(urlString));
337337
return jsonObject != null ? jsonObject.toString() : null;
338338
} catch (IOException e) {
339339
Logging.error(e);

src/main/java/org/openstreetmap/josm/plugins/mapillary/oauth/MapillaryUser.java

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,8 @@
88
import java.util.Map;
99
import java.util.stream.Collectors;
1010

11-
import javax.json.JsonString;
12-
import javax.json.JsonValue;
13-
11+
import jakarta.json.JsonString;
12+
import jakarta.json.JsonValue;
1413
import org.openstreetmap.josm.data.preferences.AbstractProperty;
1514
import org.openstreetmap.josm.plugins.mapillary.spi.preferences.MapillaryConfig;
1615
import org.openstreetmap.josm.plugins.mapillary.utils.MapillaryProperties;
@@ -65,7 +64,7 @@ public static synchronized Map<String, String> getUserInformation() {
6564
if (userInformation == null) {
6665
try {
6766
userInformation = OAuthUtils.getWithHeader(MapillaryConfig.getUrls().getUserInformation()).entrySet()
68-
.parallelStream().filter(e -> JsonValue.ValueType.STRING.equals(e.getValue().getValueType()))
67+
.parallelStream().filter(e -> JsonValue.ValueType.STRING == e.getValue().getValueType())
6968
.collect(Collectors.toMap(Map.Entry::getKey, e -> ((JsonString) e.getValue()).getString()));
7069
} catch (IOException e) {
7170
Logging.log(Logging.LEVEL_WARN, "Invalid Mapillary token, resetting field", e);

src/main/java/org/openstreetmap/josm/plugins/mapillary/oauth/OAuthPortListener.java

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -8,17 +8,16 @@
88
import java.net.BindException;
99
import java.net.ServerSocket;
1010
import java.net.Socket;
11-
import java.net.URL;
11+
import java.net.URI;
1212
import java.nio.charset.StandardCharsets;
1313
import java.util.Scanner;
1414
import java.util.regex.Matcher;
1515
import java.util.regex.Pattern;
1616

17-
import javax.json.Json;
18-
import javax.json.JsonObject;
19-
import javax.json.JsonReader;
20-
import javax.json.stream.JsonParsingException;
21-
17+
import jakarta.json.Json;
18+
import jakarta.json.JsonObject;
19+
import jakarta.json.JsonReader;
20+
import jakarta.json.stream.JsonParsingException;
2221
import org.openstreetmap.josm.plugins.mapillary.spi.preferences.MapillaryConfig;
2322
import org.openstreetmap.josm.tools.HttpClient;
2423
import org.openstreetmap.josm.tools.I18n;
@@ -38,6 +37,11 @@ public class OAuthPortListener extends Thread {
3837
I18n.tr("Mapillary login"), I18n.tr("Login successful, return to JOSM."));
3938
private final MapillaryLoginListener callback;
4039

40+
/**
41+
* Create a new OAuth callback listener
42+
*
43+
* @param loginCallback The callback to call once we have authenticated
44+
*/
4145
public OAuthPortListener(MapillaryLoginListener loginCallback) {
4246
this.callback = loginCallback;
4347
}
@@ -76,7 +80,8 @@ public void run() {
7680

7781
MapillaryUser.reset();
7882

79-
final HttpClient client = HttpClient.create(new URL("https://graph.mapillary.com/token"), "POST");
83+
final HttpClient client = HttpClient.create(URI.create("https://graph.mapillary.com/token").toURL(),
84+
"POST");
8085
client.setHeader("Authorization", "OAuth " + MapillaryConfig.getUrls().getClientSecret());
8186
client.setRequestBody(("grant_type=authorization_code&client_id=" + MapillaryConfig.getUrls().getClientId()
8287
+ "&code=" + authorizationCode).getBytes(StandardCharsets.UTF_8));

src/main/java/org/openstreetmap/josm/plugins/mapillary/oauth/OAuthUtils.java

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -18,13 +18,13 @@
1818
import java.util.Collections;
1919

2020
import javax.annotation.Nullable;
21-
import javax.json.Json;
22-
import javax.json.JsonException;
23-
import javax.json.JsonObject;
24-
import javax.json.JsonReader;
25-
import javax.json.JsonStructure;
2621
import javax.swing.JOptionPane;
2722

23+
import jakarta.json.Json;
24+
import jakarta.json.JsonException;
25+
import jakarta.json.JsonObject;
26+
import jakarta.json.JsonReader;
27+
import jakarta.json.JsonStructure;
2828
import org.openstreetmap.josm.gui.Notification;
2929
import org.openstreetmap.josm.gui.util.GuiHelper;
3030
import org.openstreetmap.josm.io.CachedFile;
@@ -212,7 +212,7 @@ private static void refreshAuthorization(final String authorizationCode) throws
212212
String content = null;
213213
IMapillaryUrls urls = MapillaryConfig.getUrls();
214214
try {
215-
final HttpClient client = HttpClient.create(new URL(urls.getTokenUrl()), "POST");
215+
final HttpClient client = HttpClient.create(URI.create(urls.getTokenUrl()).toURL(), "POST");
216216
client.setHeader(AUTHORIZATION, BEARER + urls.getClientSecret());
217217
client.setRequestBody(
218218
("grant_type=refresh_token&client_id=" + urls.getClientId() + "&refresh_token=" + authorizationCode)

src/main/java/org/openstreetmap/josm/plugins/mapillary/spi/preferences/ApiKeyReader.java

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,9 @@
44
import java.io.IOException;
55
import java.io.InputStream;
66

7-
import javax.json.Json;
8-
import javax.json.JsonObject;
9-
import javax.json.JsonReader;
10-
7+
import jakarta.json.Json;
8+
import jakarta.json.JsonObject;
9+
import jakarta.json.JsonReader;
1110
import org.openstreetmap.josm.spi.preferences.Config;
1211
import org.openstreetmap.josm.tools.Logging;
1312
import org.openstreetmap.josm.tools.ResourceProvider;

0 commit comments

Comments
 (0)