From 140524a88011696a894ea1d5cdb8919c0bbf0c45 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 15 Jun 2023 12:55:25 +0000 Subject: [PATCH 1/2] Update jersey monorepo to v3 --- web/build.gradle | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/web/build.gradle b/web/build.gradle index c6762b149..d9ed01762 100644 --- a/web/build.gradle +++ b/web/build.gradle @@ -12,10 +12,10 @@ dependencies { testImplementation group: 'org.slf4j', name: 'slf4j-simple', version: '2.0.7' implementation group: 'org.slf4j', name: 'slf4j-api', version: '2.0.7' implementation group: 'javax.ws.rs', name: 'javax.ws.rs-api', version: '2.1.1' - implementation group: 'org.glassfish.jersey.inject', name: 'jersey-hk2', version: '2.39.1' - implementation group: 'org.glassfish.jersey.containers', name: 'jersey-container-grizzly2-http', version: '2.39.1' - implementation group: 'org.glassfish.jersey.media', name: 'jersey-media-json-jackson', version: '2.39.1' - implementation group: 'org.glassfish.jersey.media', name: 'jersey-media-multipart', version: '2.39.1' + implementation group: 'org.glassfish.jersey.inject', name: 'jersey-hk2', version: '3.1.2' + implementation group: 'org.glassfish.jersey.containers', name: 'jersey-container-grizzly2-http', version: '3.1.2' + implementation group: 'org.glassfish.jersey.media', name: 'jersey-media-json-jackson', version: '3.1.2' + implementation group: 'org.glassfish.jersey.media', name: 'jersey-media-multipart', version: '3.1.2' implementation group: 'javax.xml.bind', name: 'jaxb-api', version: '2.3.1' From 328f8b1f7ede487adea9eb2bad046ac124b1fb72 Mon Sep 17 00:00:00 2001 From: Michael Rynkiewicz Date: Thu, 15 Jun 2023 16:27:54 +0200 Subject: [PATCH 2/2] removes rs-api library and replaces annotations with jersey 3.1 ones --- web/build.gradle | 2 +- .../web/controller/ArtefactController.java | 12 ++------ .../web/controller/AssociationController.java | 12 ++------ .../web/controller/FeatureController.java | 9 ++---- .../web/controller/OperationController.java | 10 ++----- .../repository/OperationRepository.java | 5 +--- .../ecco/web/provider/RepositoryProvider.java | 8 ++--- .../isse/ecco/web/rest/EccoApplication.java | 9 ++---- .../web/rest/resource/GraphsResource.java | 29 +++++++------------ .../jku/isse/ecco/web/server/CORSFilter.java | 9 +++--- 10 files changed, 35 insertions(+), 70 deletions(-) diff --git a/web/build.gradle b/web/build.gradle index d9ed01762..1cea669cc 100644 --- a/web/build.gradle +++ b/web/build.gradle @@ -11,7 +11,7 @@ task runTest(type: JavaExec, dependsOn: classes, group: 'application') { dependencies { testImplementation group: 'org.slf4j', name: 'slf4j-simple', version: '2.0.7' implementation group: 'org.slf4j', name: 'slf4j-api', version: '2.0.7' - implementation group: 'javax.ws.rs', name: 'javax.ws.rs-api', version: '2.1.1' + implementation group: 'org.glassfish.jersey.inject', name: 'jersey-hk2', version: '3.1.2' implementation group: 'org.glassfish.jersey.containers', name: 'jersey-container-grizzly2-http', version: '3.1.2' implementation group: 'org.glassfish.jersey.media', name: 'jersey-media-json-jackson', version: '3.1.2' diff --git a/web/src/main/java/at/jku/isse/ecco/web/controller/ArtefactController.java b/web/src/main/java/at/jku/isse/ecco/web/controller/ArtefactController.java index 0567dd92d..883c5b3cb 100644 --- a/web/src/main/java/at/jku/isse/ecco/web/controller/ArtefactController.java +++ b/web/src/main/java/at/jku/isse/ecco/web/controller/ArtefactController.java @@ -7,18 +7,12 @@ import at.jku.isse.ecco.web.domain.model.AssociationModel; import at.jku.isse.ecco.web.domain.repository.AbstractRepository; import at.jku.isse.ecco.web.domain.repository.ArtefactRepository; +import jakarta.ws.rs.*; +import jakarta.ws.rs.core.*; +import jakarta.ws.rs.ext.*; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import javax.ws.rs.Consumes; -import javax.ws.rs.POST; -import javax.ws.rs.Path; -import javax.ws.rs.Produces; -import javax.ws.rs.core.Configuration; -import javax.ws.rs.core.Context; -import javax.ws.rs.core.MediaType; -import javax.ws.rs.ext.ContextResolver; -import javax.ws.rs.ext.Providers; @Path("/artefacts") public class ArtefactController { diff --git a/web/src/main/java/at/jku/isse/ecco/web/controller/AssociationController.java b/web/src/main/java/at/jku/isse/ecco/web/controller/AssociationController.java index 4843846d3..fbf428375 100644 --- a/web/src/main/java/at/jku/isse/ecco/web/controller/AssociationController.java +++ b/web/src/main/java/at/jku/isse/ecco/web/controller/AssociationController.java @@ -8,15 +8,9 @@ import at.jku.isse.ecco.web.domain.repository.AssociationRepository; import org.slf4j.Logger; import org.slf4j.LoggerFactory; - -import javax.ws.rs.GET; -import javax.ws.rs.Path; -import javax.ws.rs.Produces; -import javax.ws.rs.core.Configuration; -import javax.ws.rs.core.Context; -import javax.ws.rs.core.MediaType; -import javax.ws.rs.ext.ContextResolver; -import javax.ws.rs.ext.Providers; +import jakarta.ws.rs.*; +import jakarta.ws.rs.core.*; +import jakarta.ws.rs.ext.*; @Path("/associations") public class AssociationController { diff --git a/web/src/main/java/at/jku/isse/ecco/web/controller/FeatureController.java b/web/src/main/java/at/jku/isse/ecco/web/controller/FeatureController.java index 9416cf058..7142783bc 100644 --- a/web/src/main/java/at/jku/isse/ecco/web/controller/FeatureController.java +++ b/web/src/main/java/at/jku/isse/ecco/web/controller/FeatureController.java @@ -9,12 +9,9 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import javax.ws.rs.*; -import javax.ws.rs.core.Configuration; -import javax.ws.rs.core.Context; -import javax.ws.rs.core.MediaType; -import javax.ws.rs.ext.ContextResolver; -import javax.ws.rs.ext.Providers; +import jakarta.ws.rs.*; +import jakarta.ws.rs.core.*; +import jakarta.ws.rs.ext.*; @Path("features") public class FeatureController { diff --git a/web/src/main/java/at/jku/isse/ecco/web/controller/OperationController.java b/web/src/main/java/at/jku/isse/ecco/web/controller/OperationController.java index d30586332..8e62af79f 100644 --- a/web/src/main/java/at/jku/isse/ecco/web/controller/OperationController.java +++ b/web/src/main/java/at/jku/isse/ecco/web/controller/OperationController.java @@ -11,13 +11,9 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import javax.ws.rs.*; -import javax.ws.rs.core.Configuration; -import javax.ws.rs.core.Context; -import javax.ws.rs.core.MediaType; -import javax.ws.rs.core.Response; -import javax.ws.rs.ext.ContextResolver; -import javax.ws.rs.ext.Providers; +import jakarta.ws.rs.*; +import jakarta.ws.rs.core.*; +import jakarta.ws.rs.ext.*; import java.io.InputStream; @Path("/repository") diff --git a/web/src/main/java/at/jku/isse/ecco/web/domain/repository/OperationRepository.java b/web/src/main/java/at/jku/isse/ecco/web/domain/repository/OperationRepository.java index 58ef423d0..67933f999 100644 --- a/web/src/main/java/at/jku/isse/ecco/web/domain/repository/OperationRepository.java +++ b/web/src/main/java/at/jku/isse/ecco/web/domain/repository/OperationRepository.java @@ -10,10 +10,7 @@ import org.glassfish.jersey.media.multipart.FormDataContentDisposition; import org.slf4j.Logger; import org.slf4j.LoggerFactory; - -import javax.ws.rs.BadRequestException; -import javax.ws.rs.NotAllowedException; -import javax.ws.rs.NotFoundException; +import jakarta.ws.rs.*; import java.io.IOException; import java.io.InputStream; import java.nio.file.Files; diff --git a/web/src/main/java/at/jku/isse/ecco/web/provider/RepositoryProvider.java b/web/src/main/java/at/jku/isse/ecco/web/provider/RepositoryProvider.java index 3125c97e7..7ef0a89f5 100644 --- a/web/src/main/java/at/jku/isse/ecco/web/provider/RepositoryProvider.java +++ b/web/src/main/java/at/jku/isse/ecco/web/provider/RepositoryProvider.java @@ -2,12 +2,12 @@ import at.jku.isse.ecco.web.domain.repository.AbstractRepository; import at.jku.isse.ecco.web.rest.EccoApplication; +import jakarta.ws.rs.core.Context; +import jakarta.ws.rs.ext.ContextResolver; +import jakarta.ws.rs.ext.Provider; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import javax.ws.rs.core.Context; -import javax.ws.rs.ext.ContextResolver; -import javax.ws.rs.ext.Provider; import java.lang.reflect.Constructor; import java.lang.reflect.InvocationTargetException; @@ -20,7 +20,7 @@ public class RepositoryProvider implements ContextResolver { public AbstractRepository getContext(Class type) { Object object = null; try { - Constructor constructor = type.getConstructor(EccoApplication.class); + Constructor constructor = type.getConstructor(EccoApplication.class); constructor.setAccessible(true); object = constructor.newInstance(this.application); } catch (NoSuchMethodException | IllegalAccessException | InstantiationException | InvocationTargetException e) { diff --git a/web/src/main/java/at/jku/isse/ecco/web/rest/EccoApplication.java b/web/src/main/java/at/jku/isse/ecco/web/rest/EccoApplication.java index b2acaa655..e39a7af90 100644 --- a/web/src/main/java/at/jku/isse/ecco/web/rest/EccoApplication.java +++ b/web/src/main/java/at/jku/isse/ecco/web/rest/EccoApplication.java @@ -2,6 +2,7 @@ import at.jku.isse.ecco.service.EccoService; import at.jku.isse.ecco.web.domain.model.ArtefactGraphModel; +import jakarta.ws.rs.ApplicationPath; import org.glassfish.jersey.media.multipart.MultiPartFeature; import org.glassfish.jersey.server.ResourceConfig; import org.slf4j.Logger; @@ -9,12 +10,7 @@ import java.nio.file.Paths; -/* -ApplicationPath hat leider keine Auswirkung auf die URI auf der die API laufen wird -siehe https://github.com/eclipse-ee4j/jersey/issues/4205 -Issue ist bisher auch nicht closed hat auch keinen Workaround... - */ -//@ApplicationPath("ecco") +@ApplicationPath("ecco") public class EccoApplication extends ResourceConfig { private static final Logger LOGGER = LoggerFactory.getLogger(EccoApplication.class); @@ -33,6 +29,7 @@ public EccoApplication() { public EccoService getEccoService() { return this.eccoService; } + public void open(String baseDirectory) { this.eccoService.setBaseDir(Paths.get(baseDirectory)); this.eccoService.setRepositoryDir(Paths.get(baseDirectory + ECCO_REPOSITORY_DIRECTORY)); diff --git a/web/src/main/java/at/jku/isse/ecco/web/rest/resource/GraphsResource.java b/web/src/main/java/at/jku/isse/ecco/web/rest/resource/GraphsResource.java index 9e6b923b8..837d6a0c3 100644 --- a/web/src/main/java/at/jku/isse/ecco/web/rest/resource/GraphsResource.java +++ b/web/src/main/java/at/jku/isse/ecco/web/rest/resource/GraphsResource.java @@ -1,24 +1,15 @@ package at.jku.isse.ecco.web.rest.resource; -import at.jku.isse.ecco.adapter.dispatch.DirectoryArtifactData; -import at.jku.isse.ecco.adapter.dispatch.PluginArtifactData; -import at.jku.isse.ecco.composition.LazyCompositionRootNode; -import at.jku.isse.ecco.core.Association; -import at.jku.isse.ecco.service.EccoService; -import at.jku.isse.ecco.web.rest.EccoApplication; -import at.jku.isse.ecco.web.rest.dto.ArtifactsGraphDTO; - -import javax.ws.rs.GET; -import javax.ws.rs.Path; -import javax.ws.rs.Produces; -import javax.ws.rs.QueryParam; -import javax.ws.rs.core.Application; -import javax.ws.rs.core.Configuration; -import javax.ws.rs.core.Context; -import javax.ws.rs.core.MediaType; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.Map; +import at.jku.isse.ecco.adapter.dispatch.*; +import at.jku.isse.ecco.composition.*; +import at.jku.isse.ecco.core.*; +import at.jku.isse.ecco.service.*; +import at.jku.isse.ecco.web.rest.*; +import at.jku.isse.ecco.web.rest.dto.*; +import jakarta.ws.rs.*; +import jakarta.ws.rs.core.*; + +import java.util.*; @Path("/graph") public class GraphsResource { diff --git a/web/src/main/java/at/jku/isse/ecco/web/server/CORSFilter.java b/web/src/main/java/at/jku/isse/ecco/web/server/CORSFilter.java index c6624a78e..b1a4f2cf9 100644 --- a/web/src/main/java/at/jku/isse/ecco/web/server/CORSFilter.java +++ b/web/src/main/java/at/jku/isse/ecco/web/server/CORSFilter.java @@ -1,12 +1,11 @@ package at.jku.isse.ecco.web.server; + import org.slf4j.Logger; import org.slf4j.LoggerFactory; - -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.*; +import jakarta.ws.rs.ext.*; import java.io.IOException; + @Provider public class CORSFilter implements ContainerResponseFilter {