diff --git a/pom.xml b/pom.xml
index c1bedf0..f521399 100644
--- a/pom.xml
+++ b/pom.xml
@@ -4,10 +4,9 @@
archidata
0.3.1
- 2.1
- 2.32
+ 3.1.1
2.3.1
- 3.0.7
+ 4.1.1
3.1
17
@@ -65,9 +64,14 @@
${jaxb.version}
- javax.ws.rs
- javax.ws.rs-api
- 2.1.1
+ org.glassfish.jaxb
+ jaxb-runtime
+ 4.0.1
+
+
+ jakarta.ws.rs
+ jakarta.ws.rs-api
+ 3.1.0
com.sun.xml.bind
@@ -84,11 +88,6 @@
jersey-test-framework-provider-grizzly2
test
-
- mysql
- mysql-connector-java
- 8.0.31
-
org.glassfish.jersey.media
jersey-media-json-jackson
@@ -96,24 +95,30 @@
com.fasterxml.jackson.core
jackson-databind
- 2.8.10
+ 2.14.2
- javax.servlet
- javax.servlet-api
- 4.0.1
- compile
-
-
- org.jetbrains
- annotations
- 23.1.0
- compile
+ jakarta.servlet
+ jakarta.servlet-api
+ 6.0.0
+ provided
+
+
+ com.mysql
+ mysql-connector-j
+ 8.0.32
+
+
+ org.xerial
+ sqlite-jdbc
+ 3.40.0.0
+
+
com.nimbusds
nimbus-jose-jwt
- 9.27
+ 9.30
diff --git a/src/org/kar/archidata/annotation/security/DenyAll.java b/src/org/kar/archidata/annotation/security/DenyAll.java
index c2944a5..ede47ab 100644
--- a/src/org/kar/archidata/annotation/security/DenyAll.java
+++ b/src/org/kar/archidata/annotation/security/DenyAll.java
@@ -1,9 +1,10 @@
package org.kar.archidata.annotation.security;
-import javax.ws.rs.NameBinding;
import java.lang.annotation.Retention;
import java.lang.annotation.Target;
+import jakarta.ws.rs.NameBinding;
+
import static java.lang.annotation.ElementType.METHOD;
import static java.lang.annotation.RetentionPolicy.RUNTIME;
diff --git a/src/org/kar/archidata/annotation/security/PermitAll.java b/src/org/kar/archidata/annotation/security/PermitAll.java
index a9937a0..ea5e210 100644
--- a/src/org/kar/archidata/annotation/security/PermitAll.java
+++ b/src/org/kar/archidata/annotation/security/PermitAll.java
@@ -1,6 +1,6 @@
package org.kar.archidata.annotation.security;
-import javax.ws.rs.NameBinding;
+import jakarta.ws.rs.NameBinding;
import java.lang.annotation.Retention;
import java.lang.annotation.Target;
diff --git a/src/org/kar/archidata/annotation/security/PermitTokenInURI.java b/src/org/kar/archidata/annotation/security/PermitTokenInURI.java
index 09d2442..f1f6404 100644
--- a/src/org/kar/archidata/annotation/security/PermitTokenInURI.java
+++ b/src/org/kar/archidata/annotation/security/PermitTokenInURI.java
@@ -1,6 +1,6 @@
package org.kar.archidata.annotation.security;
-import javax.ws.rs.NameBinding;
+import jakarta.ws.rs.NameBinding;
import java.lang.annotation.Retention;
import java.lang.annotation.Target;
diff --git a/src/org/kar/archidata/annotation/security/RolesAllowed.java b/src/org/kar/archidata/annotation/security/RolesAllowed.java
index 736ec6e..9cb18be 100644
--- a/src/org/kar/archidata/annotation/security/RolesAllowed.java
+++ b/src/org/kar/archidata/annotation/security/RolesAllowed.java
@@ -1,6 +1,6 @@
package org.kar.archidata.annotation.security;
-import javax.ws.rs.NameBinding;
+import jakarta.ws.rs.NameBinding;
import java.lang.annotation.Retention;
import java.lang.annotation.Target;
diff --git a/src/org/kar/archidata/api/DataResource.java b/src/org/kar/archidata/api/DataResource.java
index b104a69..56d4def 100644
--- a/src/org/kar/archidata/api/DataResource.java
+++ b/src/org/kar/archidata/api/DataResource.java
@@ -9,15 +9,24 @@ import org.kar.archidata.annotation.security.PermitTokenInURI;
import org.kar.archidata.annotation.security.RolesAllowed;
import org.kar.archidata.util.ConfigBaseVariable;
+import jakarta.ws.rs.Consumes;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.HeaderParam;
+import jakarta.ws.rs.InternalServerErrorException;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.PathParam;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.QueryParam;
+import jakarta.ws.rs.core.CacheControl;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.HttpHeaders;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.core.SecurityContext;
+import jakarta.ws.rs.core.StreamingOutput;
+
import javax.imageio.ImageIO;
-import javax.ws.rs.*;
-import javax.ws.rs.core.CacheControl;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.HttpHeaders;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.core.SecurityContext;
-import javax.ws.rs.core.StreamingOutput;
import java.awt.*;
import java.awt.image.BufferedImage;
import java.io.*;
@@ -33,7 +42,7 @@ import java.util.Date;
// https://gist.github.com/aitoroses/4f7a2b197b732a6a691d
@Path("/data")
-@Produces({MediaType.APPLICATION_JSON})
+@Produces(MediaType.APPLICATION_JSON)
public class DataResource {
private final static int CHUNK_SIZE = 1024 * 1024; // 1MB chunks
private final static int CHUNK_SIZE_IN = 50 * 1024 * 1024; // 1MB chunks
diff --git a/src/org/kar/archidata/api/FrontGeneric.java b/src/org/kar/archidata/api/FrontGeneric.java
index f4c3ea9..415e83f 100644
--- a/src/org/kar/archidata/api/FrontGeneric.java
+++ b/src/org/kar/archidata/api/FrontGeneric.java
@@ -3,11 +3,11 @@ package org.kar.archidata.api;
import java.io.File;
import java.util.List;
-import javax.ws.rs.*;
-import javax.ws.rs.core.CacheControl;
-import javax.ws.rs.core.PathSegment;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.core.Response.ResponseBuilder;
+import jakarta.ws.rs.*;
+import jakarta.ws.rs.core.CacheControl;
+import jakarta.ws.rs.core.PathSegment;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.core.Response.ResponseBuilder;
import org.kar.archidata.annotation.security.PermitAll;
diff --git a/src/org/kar/archidata/api/MediaStreamer.java b/src/org/kar/archidata/api/MediaStreamer.java
index 1ad626d..7c2d4f8 100644
--- a/src/org/kar/archidata/api/MediaStreamer.java
+++ b/src/org/kar/archidata/api/MediaStreamer.java
@@ -1,8 +1,8 @@
package org.kar.archidata.api;
-import javax.ws.rs.InternalServerErrorException;
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.core.StreamingOutput;
+import jakarta.ws.rs.InternalServerErrorException;
+import jakarta.ws.rs.WebApplicationException;
+import jakarta.ws.rs.core.StreamingOutput;
import java.io.IOException;
import java.io.OutputStream;
import java.io.RandomAccessFile;
diff --git a/src/org/kar/archidata/catcher/ExceptionCatcher.java b/src/org/kar/archidata/catcher/ExceptionCatcher.java
index 87ed1ac..ef75b50 100644
--- a/src/org/kar/archidata/catcher/ExceptionCatcher.java
+++ b/src/org/kar/archidata/catcher/ExceptionCatcher.java
@@ -1,8 +1,8 @@
package org.kar.archidata.catcher;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.ext.ExceptionMapper;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.ext.ExceptionMapper;
public class ExceptionCatcher
diff --git a/src/org/kar/archidata/catcher/FailExceptionCatcher.java b/src/org/kar/archidata/catcher/FailExceptionCatcher.java
index dc7b529..7ac7a6d 100644
--- a/src/org/kar/archidata/catcher/FailExceptionCatcher.java
+++ b/src/org/kar/archidata/catcher/FailExceptionCatcher.java
@@ -1,8 +1,8 @@
package org.kar.archidata.catcher;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.ext.ExceptionMapper;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.ext.ExceptionMapper;
import org.kar.archidata.exception.FailException;
diff --git a/src/org/kar/archidata/catcher/InputExceptionCatcher.java b/src/org/kar/archidata/catcher/InputExceptionCatcher.java
index ff931c2..631802e 100644
--- a/src/org/kar/archidata/catcher/InputExceptionCatcher.java
+++ b/src/org/kar/archidata/catcher/InputExceptionCatcher.java
@@ -1,8 +1,8 @@
package org.kar.archidata.catcher;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.ext.ExceptionMapper;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.ext.ExceptionMapper;
import org.kar.archidata.exception.InputException;
diff --git a/src/org/kar/archidata/catcher/RestErrorResponse.java b/src/org/kar/archidata/catcher/RestErrorResponse.java
index 8d3636f..35b4e70 100644
--- a/src/org/kar/archidata/catcher/RestErrorResponse.java
+++ b/src/org/kar/archidata/catcher/RestErrorResponse.java
@@ -3,7 +3,7 @@ package org.kar.archidata.catcher;
import java.time.Instant;
import java.util.UUID;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.core.Response;
public class RestErrorResponse {
public UUID uuid = UUID.randomUUID();
diff --git a/src/org/kar/archidata/catcher/SystemExceptionCatcher.java b/src/org/kar/archidata/catcher/SystemExceptionCatcher.java
index 91720b9..6920cc8 100644
--- a/src/org/kar/archidata/catcher/SystemExceptionCatcher.java
+++ b/src/org/kar/archidata/catcher/SystemExceptionCatcher.java
@@ -1,8 +1,8 @@
package org.kar.archidata.catcher;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.ext.ExceptionMapper;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.ext.ExceptionMapper;
import org.kar.archidata.exception.InputException;
import org.kar.archidata.exception.SystemException;
diff --git a/src/org/kar/archidata/exception/FailException.java b/src/org/kar/archidata/exception/FailException.java
index 4309fa9..1f0e8ab 100644
--- a/src/org/kar/archidata/exception/FailException.java
+++ b/src/org/kar/archidata/exception/FailException.java
@@ -1,6 +1,6 @@
package org.kar.archidata.exception;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.core.Response;
public class FailException extends Exception {
private static final long serialVersionUID = 1L;
diff --git a/src/org/kar/archidata/exception/InputException.java b/src/org/kar/archidata/exception/InputException.java
index c52b81e..1c4b69a 100644
--- a/src/org/kar/archidata/exception/InputException.java
+++ b/src/org/kar/archidata/exception/InputException.java
@@ -1,6 +1,6 @@
package org.kar.archidata.exception;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.core.Response;
public class InputException extends Exception {
private static final long serialVersionUID = 1L;
diff --git a/src/org/kar/archidata/exception/NotFoundException.java b/src/org/kar/archidata/exception/NotFoundException.java
index be408c3..ed5df9a 100644
--- a/src/org/kar/archidata/exception/NotFoundException.java
+++ b/src/org/kar/archidata/exception/NotFoundException.java
@@ -1,6 +1,6 @@
package org.kar.archidata.exception;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.core.Response;
public class NotFoundException extends FailException {
private static final long serialVersionUID = 1L;
diff --git a/src/org/kar/archidata/exception/SystemException.java b/src/org/kar/archidata/exception/SystemException.java
index 17ad2b4..d5fe003 100644
--- a/src/org/kar/archidata/exception/SystemException.java
+++ b/src/org/kar/archidata/exception/SystemException.java
@@ -1,6 +1,6 @@
package org.kar.archidata.exception;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.core.Response;
public class SystemException extends Exception {
private static final long serialVersionUID = 1L;
diff --git a/src/org/kar/archidata/filter/AuthenticationFilter.java b/src/org/kar/archidata/filter/AuthenticationFilter.java
index c8af819..c589145 100644
--- a/src/org/kar/archidata/filter/AuthenticationFilter.java
+++ b/src/org/kar/archidata/filter/AuthenticationFilter.java
@@ -6,16 +6,16 @@ import org.kar.archidata.annotation.security.PermitAll;
import org.kar.archidata.annotation.security.RolesAllowed;
-import javax.annotation.Priority;
-import javax.ws.rs.Priorities;
-import javax.ws.rs.container.ContainerRequestContext;
-import javax.ws.rs.container.ContainerRequestFilter;
-import javax.ws.rs.container.ResourceInfo;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.HttpHeaders;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.ext.Provider;
+import jakarta.annotation.Priority;
+import jakarta.ws.rs.Priorities;
+import jakarta.ws.rs.container.ContainerRequestContext;
+import jakarta.ws.rs.container.ContainerRequestFilter;
+import jakarta.ws.rs.container.ResourceInfo;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.HttpHeaders;
+import jakarta.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.ext.Provider;
import org.kar.archidata.UserDB;
import org.kar.archidata.annotation.security.PermitTokenInURI;
diff --git a/src/org/kar/archidata/filter/CORSFilter.java b/src/org/kar/archidata/filter/CORSFilter.java
index ce7f798..9046e6d 100644
--- a/src/org/kar/archidata/filter/CORSFilter.java
+++ b/src/org/kar/archidata/filter/CORSFilter.java
@@ -1,9 +1,9 @@
package org.kar.archidata.filter;
-import javax.ws.rs.container.ContainerRequestContext;
-import javax.ws.rs.container.ContainerResponseContext;
-import javax.ws.rs.container.ContainerResponseFilter;
-import javax.ws.rs.ext.Provider;
+import jakarta.ws.rs.container.ContainerRequestContext;
+import jakarta.ws.rs.container.ContainerResponseContext;
+import jakarta.ws.rs.container.ContainerResponseFilter;
+import jakarta.ws.rs.ext.Provider;
import java.io.IOException;
diff --git a/src/org/kar/archidata/filter/MySecurityContext.java b/src/org/kar/archidata/filter/MySecurityContext.java
index 7dcdcb2..2ac7039 100644
--- a/src/org/kar/archidata/filter/MySecurityContext.java
+++ b/src/org/kar/archidata/filter/MySecurityContext.java
@@ -4,7 +4,7 @@ package org.kar.archidata.filter;
import org.kar.archidata.model.User;
import org.kar.archidata.model.UserByToken;
-import javax.ws.rs.core.SecurityContext;
+import jakarta.ws.rs.core.SecurityContext;
import java.security.Principal;
// https://simplapi.wordpress.com/2015/09/19/jersey-jax-rs-securitycontext-in-action/
diff --git a/src/org/kar/archidata/filter/OptionFilter.java b/src/org/kar/archidata/filter/OptionFilter.java
index bfe9527..a1282d3 100644
--- a/src/org/kar/archidata/filter/OptionFilter.java
+++ b/src/org/kar/archidata/filter/OptionFilter.java
@@ -1,10 +1,10 @@
package org.kar.archidata.filter;
-import javax.ws.rs.container.ContainerRequestContext;
-import javax.ws.rs.container.ContainerRequestFilter;
-import javax.ws.rs.container.PreMatching;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.ext.Provider;
+import jakarta.ws.rs.container.ContainerRequestContext;
+import jakarta.ws.rs.container.ContainerRequestFilter;
+import jakarta.ws.rs.container.PreMatching;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.ext.Provider;
import java.io.IOException;
@Provider
diff --git a/src/org/kar/archidata/util/DataTools.java b/src/org/kar/archidata/util/DataTools.java
index 89e9887..793aed2 100644
--- a/src/org/kar/archidata/util/DataTools.java
+++ b/src/org/kar/archidata/util/DataTools.java
@@ -15,7 +15,7 @@ import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.core.Response;
import org.glassfish.jersey.media.multipart.FormDataContentDisposition;
import org.kar.archidata.GlobalConfiguration;