From fdd6757a9484ff7b260c2ea5c2e0b489eb182538 Mon Sep 17 00:00:00 2001 From: lathouwerssam Date: Tue, 16 Jan 2024 16:51:21 +0100 Subject: [PATCH 1/4] Try to fix jersey upgrade (removed jersey dependencies from poms and upgraded swagger-core) --- admin-ui/pom.xml | 4 +- knowledge-directory/pom.xml | 522 +++++++++++++-------------- smart-connector-rest-server/pom.xml | 4 +- smart-connector/pom.xml | 524 ++++++++++++++-------------- 4 files changed, 527 insertions(+), 527 deletions(-) diff --git a/admin-ui/pom.xml b/admin-ui/pom.xml index 13fd0689a..f3eb12960 100644 --- a/admin-ui/pom.xml +++ b/admin-ui/pom.xml @@ -14,9 +14,9 @@ A user interface for managing a Knowledge Network. - 1.5.18 + 1.6.12 9.4.51.v20230217 - 2.34 + 3.1.3 2.9.9 UTF-8 diff --git a/knowledge-directory/pom.xml b/knowledge-directory/pom.xml index c476e1855..0692778b9 100644 --- a/knowledge-directory/pom.xml +++ b/knowledge-directory/pom.xml @@ -1,262 +1,262 @@ - - 4.0.0 - knowledge-directory - Knowledge Engine - Knowledge Directory - - - eu.knowledge.engine - ke-parent - ${revision} - .. - - - - - 1.5.18 - 1.1.0.Final - 9.4.51.v20230217 - 2.35 - 2.9.9 - 4.13.1 - 1.1.7 - 4.0.1 - UTF-8 - - - - - io.swagger - swagger-jersey2-jaxrs - compile - ${swagger-core-version} - - - org.glassfish.jersey.containers - jersey-container-servlet - ${jersey2-version} - - - org.glassfish.jersey.inject - jersey-hk2 - ${jersey2-version} - - - ch.qos.logback - logback-core - ${logback-version} - compile - - - junit - junit - ${junit-version} - test - - - javax.servlet - javax.servlet-api - ${servlet-api-version} - compile - - - org.glassfish.jersey.containers - jersey-container-servlet-core - ${jersey2-version} - - - org.glassfish.jersey.media - jersey-media-multipart - ${jersey2-version} - - - com.fasterxml.jackson.datatype - jackson-datatype-joda - ${jackson-version} - - - com.fasterxml.jackson.jaxrs - jackson-jaxrs-json-provider - ${jackson-version} - - - com.fasterxml.jackson.core - jackson-core - ${jackson-version} - - - com.fasterxml.jackson.core - jackson-databind - ${jackson-version} - - - com.fasterxml.jackson.core - jackson-annotations - ${jackson-version} - - - com.fasterxml.jackson.datatype - jackson-datatype-jsr310 - ${jackson-version} - - - - - com.brsanthu - migbase64 - 2.2 - - - - - javax.validation - validation-api - ${beanvalidation-version} - provided - - - - - org.slf4j - slf4j-simple - 1.7.25 - - - - org.eclipse.jetty - jetty-util - ${jetty-version} - - - - org.eclipse.jetty - jetty-servlet - ${jetty-version} - - - - org.eclipse.jetty - jetty-server - ${jetty-version} - - - - - javax.xml.bind - jaxb-api - 2.3.1 - - - - - - - - org.openapitools - openapi-generator-maven-plugin - 7.2.0 - - - generate-sources - - generate - - - eu.knowledge.engine.knowledgedirectory - eu.knowledge.engine.knowledgedirectory.api - eu.knowledge.engine.knowledgedirectory.model - ${project.basedir}/src/main/resources/openapi-kd.yaml - jaxrs-jersey - true - true - - dummy - true - true - java8 - - - - - - - org.codehaus.mojo - build-helper-maven-plugin - 3.2.0 - - - add-source - generate-sources - - add-source - - - - ${project.basedir}/target/generated-sources/openapi/src/gen/java - - - - - - - org.apache.maven.plugins - maven-dependency-plugin - 3.1.2 - - - install - - copy-dependencies - - - - - - - org.apache.maven.plugins - maven-shade-plugin - 3.2.4 - - true - with-dependencies - - - eu.knowledge.engine.knowledgedirectory.Main - - - - - - *:* - - - META-INF/*.SF - META-INF/*.DSA - META-INF/*.RSA - - - - - - - package - - shade - - - - - - + + 4.0.0 + knowledge-directory + Knowledge Engine - Knowledge Directory + + + eu.knowledge.engine + ke-parent + ${revision} + .. + + + + + 1.6.12 + 1.1.0.Final + 9.4.51.v20230217 + 3.1.3 + 2.9.9 + 4.13.1 + 1.1.7 + 4.0.1 + UTF-8 + + + + + io.swagger + swagger-jersey2-jaxrs + compile + ${swagger-core-version} + + + + + + + + + + + + + ch.qos.logback + logback-core + ${logback-version} + compile + + + junit + junit + ${junit-version} + test + + + javax.servlet + javax.servlet-api + ${servlet-api-version} + compile + + + + + + + + + + + + + com.fasterxml.jackson.datatype + jackson-datatype-joda + ${jackson-version} + + + com.fasterxml.jackson.jaxrs + jackson-jaxrs-json-provider + ${jackson-version} + + + com.fasterxml.jackson.core + jackson-core + ${jackson-version} + + + com.fasterxml.jackson.core + jackson-databind + ${jackson-version} + + + com.fasterxml.jackson.core + jackson-annotations + ${jackson-version} + + + com.fasterxml.jackson.datatype + jackson-datatype-jsr310 + ${jackson-version} + + + + + com.brsanthu + migbase64 + 2.2 + + + + + javax.validation + validation-api + ${beanvalidation-version} + provided + + + + + org.slf4j + slf4j-simple + 1.7.25 + + + + org.eclipse.jetty + jetty-util + ${jetty-version} + + + + org.eclipse.jetty + jetty-servlet + ${jetty-version} + + + + org.eclipse.jetty + jetty-server + ${jetty-version} + + + + + javax.xml.bind + jaxb-api + 2.3.1 + + + + + + + + org.openapitools + openapi-generator-maven-plugin + 7.2.0 + + + generate-sources + + generate + + + eu.knowledge.engine.knowledgedirectory + eu.knowledge.engine.knowledgedirectory.api + eu.knowledge.engine.knowledgedirectory.model + ${project.basedir}/src/main/resources/openapi-kd.yaml + jaxrs-jersey + true + true + + dummy + true + true + java8 + + + + + + + org.codehaus.mojo + build-helper-maven-plugin + 3.2.0 + + + add-source + generate-sources + + add-source + + + + ${project.basedir}/target/generated-sources/openapi/src/gen/java + + + + + + + org.apache.maven.plugins + maven-dependency-plugin + 3.1.2 + + + install + + copy-dependencies + + + + + + + org.apache.maven.plugins + maven-shade-plugin + 3.2.4 + + true + with-dependencies + + + eu.knowledge.engine.knowledgedirectory.Main + + + + + + *:* + + + META-INF/*.SF + META-INF/*.DSA + META-INF/*.RSA + + + + + + + package + + shade + + + + + + \ No newline at end of file diff --git a/smart-connector-rest-server/pom.xml b/smart-connector-rest-server/pom.xml index 404ff4c65..64d04c7ad 100644 --- a/smart-connector-rest-server/pom.xml +++ b/smart-connector-rest-server/pom.xml @@ -11,9 +11,9 @@ - 1.5.18 + 1.6.12 9.4.51.v20230217 - 2.35 + 3.1.3 2.9.9 UTF-8 diff --git a/smart-connector/pom.xml b/smart-connector/pom.xml index 882c3bcc9..d3777a288 100644 --- a/smart-connector/pom.xml +++ b/smart-connector/pom.xml @@ -1,263 +1,263 @@ - - 4.0.0 - smart-connector - jar - Knowledge Engine - Smart Connector - - eu.knowledge.engine - ke-parent - ${revision} - .. - - - - - - eu.knowledge.engine - knowledge-directory - ${revision} - test - - - - - org.slf4j - slf4j-simple - 1.7.25 - - - - - org.junit.jupiter - junit-jupiter-api - 5.7.0 - test - - - org.junit.jupiter - junit-jupiter-engine - 5.7.0 - test - - - - - org.apache.jena - apache-jena-libs - pom - - - - - org.jgrapht - jgrapht-core - 1.5.0 - - - edu.ucla.sspace - sspace - 2.0.4 - - - - - io.swagger - swagger-jersey2-jaxrs - compile - ${swagger-core-version} - - - org.glassfish.jersey.containers - jersey-container-servlet - ${jersey2-version} - - - org.glassfish.jersey.inject - jersey-hk2 - ${jersey2-version} - - - javax.servlet - javax.servlet-api - ${servlet-api-version} - provided - - - org.glassfish.jersey.containers - jersey-container-servlet-core - ${jersey2-version} - - - org.glassfish.jersey.media - jersey-media-multipart - ${jersey2-version} - - - com.fasterxml.jackson.datatype - jackson-datatype-joda - ${jackson-version} - - - com.fasterxml.jackson.jaxrs - jackson-jaxrs-json-provider - ${jackson-version} - - - com.fasterxml.jackson.core - jackson-core - ${jackson-version} - - - com.fasterxml.jackson.core - jackson-databind - ${jackson-version} - - - com.fasterxml.jackson.core - jackson-annotations - ${jackson-version} - - - com.fasterxml.jackson.datatype - jackson-datatype-jsr310 - ${jackson-version} - - - - - org.eclipse.jetty - jetty-util - ${jetty-version} - - - - org.eclipse.jetty - jetty-servlet - ${jetty-version} - - - - org.eclipse.jetty - jetty-server - ${jetty-version} - - - - - javax.xml.bind - jaxb-api - 2.3.1 - - - - eu.knowledge.engine - smart-connector-api - ${project.version} - - - eu.knowledge.engine - reasoner - ${project.version} - - - - javax.cache - cache-api - 1.1.1 - - - org.ehcache - ehcache - 3.9.9 - - - - - 9.4.51.v20230217 - 1.5.18 - 2.35 - 4.0.1 - 2.9.9 - - - - - - org.openapitools - openapi-generator-maven-plugin - 7.2.0 - - - - inter-ker - generate-sources - - generate - - - eu.knowledge.engine.smartconnector.runtime.messaging.inter_ker - eu.knowledge.engine.smartconnector.runtime.messaging.inter_ker.api - eu.knowledge.engine.smartconnector.runtime.messaging.inter_ker.model - ${project.basedir}/src/main/resources/openapi-inter-ker.yaml - jaxrs-jersey - true - true - ${project.basedir}/src/main/resources/openapi_template/ - - dummy - true - true - java8 - - - - - - - kd - generate-sources - - generate - - - eu.knowledge.engine.smartconnector.runtime.messaging.kd.model - ${project.basedir}/../knowledge-directory/src/main/resources/openapi-kd.yaml - jaxrs-jersey - false - false - - dummy - true - true - java8 - - - - - - - org.codehaus.mojo - build-helper-maven-plugin - 3.2.0 - - - add-source - generate-sources - - add-source - - - - ${project.basedir}/target/generated-sources/openapi/src/gen/java - - - - - - - - - + + 4.0.0 + smart-connector + jar + Knowledge Engine - Smart Connector + + eu.knowledge.engine + ke-parent + ${revision} + .. + + + + + + eu.knowledge.engine + knowledge-directory + ${revision} + test + + + + + org.slf4j + slf4j-simple + 1.7.25 + + + + + org.junit.jupiter + junit-jupiter-api + 5.7.0 + test + + + org.junit.jupiter + junit-jupiter-engine + 5.7.0 + test + + + + + org.apache.jena + apache-jena-libs + pom + + + + + org.jgrapht + jgrapht-core + 1.5.0 + + + edu.ucla.sspace + sspace + 2.0.4 + + + + + io.swagger + swagger-jersey2-jaxrs + compile + ${swagger-core-version} + + + + + + + + + + + + + javax.servlet + javax.servlet-api + ${servlet-api-version} + provided + + + + + + + + + + + + + com.fasterxml.jackson.datatype + jackson-datatype-joda + ${jackson-version} + + + com.fasterxml.jackson.jaxrs + jackson-jaxrs-json-provider + ${jackson-version} + + + com.fasterxml.jackson.core + jackson-core + ${jackson-version} + + + com.fasterxml.jackson.core + jackson-databind + ${jackson-version} + + + com.fasterxml.jackson.core + jackson-annotations + ${jackson-version} + + + com.fasterxml.jackson.datatype + jackson-datatype-jsr310 + ${jackson-version} + + + + + org.eclipse.jetty + jetty-util + ${jetty-version} + + + + org.eclipse.jetty + jetty-servlet + ${jetty-version} + + + + org.eclipse.jetty + jetty-server + ${jetty-version} + + + + + javax.xml.bind + jaxb-api + 2.3.1 + + + + eu.knowledge.engine + smart-connector-api + ${project.version} + + + eu.knowledge.engine + reasoner + ${project.version} + + + + javax.cache + cache-api + 1.1.1 + + + org.ehcache + ehcache + 3.9.9 + + + + + 9.4.51.v20230217 + 1.6.12 + 3.1.3 + 4.0.1 + 2.9.9 + + + + + + org.openapitools + openapi-generator-maven-plugin + 7.2.0 + + + + inter-ker + generate-sources + + generate + + + eu.knowledge.engine.smartconnector.runtime.messaging.inter_ker + eu.knowledge.engine.smartconnector.runtime.messaging.inter_ker.api + eu.knowledge.engine.smartconnector.runtime.messaging.inter_ker.model + ${project.basedir}/src/main/resources/openapi-inter-ker.yaml + jaxrs-jersey + true + true + ${project.basedir}/src/main/resources/openapi_template/ + + dummy + true + true + java8 + + + + + + + kd + generate-sources + + generate + + + eu.knowledge.engine.smartconnector.runtime.messaging.kd.model + ${project.basedir}/../knowledge-directory/src/main/resources/openapi-kd.yaml + jaxrs-jersey + false + false + + dummy + true + true + java8 + + + + + + + org.codehaus.mojo + build-helper-maven-plugin + 3.2.0 + + + add-source + generate-sources + + add-source + + + + ${project.basedir}/target/generated-sources/openapi/src/gen/java + + + + + + + + + \ No newline at end of file From 5a1e95670e5c73ab48cc0130045f6b8d1f34dc2f Mon Sep 17 00:00:00 2001 From: Barry Nouwt Date: Wed, 17 Jan 2024 10:47:13 +0100 Subject: [PATCH 2/4] update custom mustache template When updating the openapi generator, also update the template that is being used by the jaxrs-jersey generator, more specifically the jersey3 template. See diff between this and next commit, to see which changes are necessary to make it work in this Maven module. --- .../resources/openapi_template/api.mustache | 62 ++++++++++--------- 1 file changed, 33 insertions(+), 29 deletions(-) diff --git a/smart-connector/src/main/resources/openapi_template/api.mustache b/smart-connector/src/main/resources/openapi_template/api.mustache index 8b05606cf..775f9e13e 100644 --- a/smart-connector/src/main/resources/openapi_template/api.mustache +++ b/smart-connector/src/main/resources/openapi_template/api.mustache @@ -1,11 +1,17 @@ package {{package}}; +{{#models.0}} import {{modelPackage}}.*; +{{/models.0}} import {{package}}.{{classname}}Service; import {{package}}.factories.{{classname}}ServiceFactory; -import io.swagger.annotations.ApiParam; -import io.swagger.jaxrs.*; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.media.Content; +import io.swagger.v3.oas.annotations.media.Schema; +import io.swagger.v3.oas.annotations.responses.ApiResponse; +import io.swagger.v3.oas.annotations.tags.Tag; {{#imports}}import {{import}}; {{/imports}} @@ -19,63 +25,61 @@ import java.io.InputStream; import org.glassfish.jersey.media.multipart.FormDataParam; import org.glassfish.jersey.media.multipart.FormDataBodyPart; -import javax.servlet.ServletConfig; -import javax.ws.rs.core.Context; -import javax.ws.rs.core.Response; -import javax.ws.rs.core.SecurityContext; -import javax.ws.rs.*; +import {{javaxPackage}}.servlet.ServletConfig; +import {{javaxPackage}}.ws.rs.core.Context; +import {{javaxPackage}}.ws.rs.core.Response; +import {{javaxPackage}}.ws.rs.core.SecurityContext; +import {{javaxPackage}}.ws.rs.*; {{#useBeanValidation}} -import javax.validation.constraints.*; -import javax.validation.Valid; +import {{javaxPackage}}.validation.constraints.*; +import {{javaxPackage}}.validation.Valid; {{/useBeanValidation}} @Path("{{commonPath}}") {{#hasConsumes}}@Consumes({ {{#consumes}}"{{{mediaType}}}"{{^-last}}, {{/-last}}{{/consumes}} }){{/hasConsumes}} {{#hasProduces}}@Produces({ {{#produces}}"{{{mediaType}}}"{{^-last}}, {{/-last}}{{/produces}} }){{/hasProduces}} -@io.swagger.annotations.Api(description = "the {{{baseName}}} API") +@Tag(description = "the {{{baseName}}} API", name = "") {{>generatedAnnotation}} {{#operations}} public class {{classname}} { + private final {{classname}}Service delegate; public {{classname}}(@Context ServletConfig servletContext) { - {{classname}}Service delegate = null; + {{classname}}Service delegate = null; if (servletContext != null) { String implClass = servletContext.getInitParameter("{{classname}}.implementation"); if (implClass != null && !"".equals(implClass.trim())) { try { - delegate = ({{classname}}Service) Class.forName(implClass).newInstance(); + delegate = ({{classname}}Service) Class.forName(implClass).getDeclaredConstructor().newInstance(); } catch (Exception e) { throw new RuntimeException(e); } - } + } } if (delegate == null) { - delegate = {{classname}}ServiceFactory.get{{classname}}(servletContext); + delegate = {{classname}}ServiceFactory.get{{classname}}(); } - this.delegate = delegate; } {{#operation}} - @{{httpMethod}} - {{#subresourceOperation}}@Path("{{{path}}}"){{/subresourceOperation}} - {{#hasConsumes}}@Consumes({ {{#consumes}}"{{{mediaType}}}"{{^-last}}, {{/-last}}{{/consumes}} }){{/hasConsumes}} - {{#hasProduces}}@Produces({ {{#produces}}"{{{mediaType}}}"{{^-last}}, {{/-last}}{{/produces}} }){{/hasProduces}} - @io.swagger.annotations.ApiOperation(value = "{{{summary}}}", notes = "{{{notes}}}", response = {{{returnBaseType}}}.class{{#returnContainer}}, responseContainer = "{{{returnContainer}}}"{{/returnContainer}}{{#hasAuthMethods}}, authorizations = { - {{#authMethods}}@io.swagger.annotations.Authorization(value = "{{name}}"{{#isOAuth}}, scopes = { - {{#scopes}}@io.swagger.annotations.AuthorizationScope(scope = "{{scope}}", description = "{{description}}"){{^-last}}, - {{/-last}}{{/scopes}} - }{{/isOAuth}}){{^-last}}, - {{/-last}}{{/authMethods}} - }{{/hasAuthMethods}}, tags={ {{#vendorExtensions.x-tags}}"{{tag}}",{{/vendorExtensions.x-tags}} }) - @io.swagger.annotations.ApiResponses(value = { + + @{{javaxPackage}}.ws.rs.{{httpMethod}}{{! + }}{{#subresourceOperation}} + @Path("{{{path}}}"){{/subresourceOperation}}{{! + }}{{#hasConsumes}} + @Consumes({ {{#consumes}}"{{{mediaType}}}"{{^-last}}, {{/-last}}{{/consumes}} }){{/hasConsumes}}{{! + }}{{#hasProduces}} + @Produces({ {{#produces}}"{{{mediaType}}}"{{^-last}}, {{/-last}}{{/produces}} }){{/hasProduces}} + @Operation(summary = "{{{summary}}}", description = "{{{description}}}", responses = { {{#responses}} - @io.swagger.annotations.ApiResponse(code = {{{code}}}, message = "{{{message}}}", response = {{{baseType}}}.class{{#containerType}}, responseContainer = "{{{containerType}}}"{{/containerType}}){{^-last}},{{/-last}} + @ApiResponse(responseCode = "{{{code}}}", description = "{{{message}}}", content = + @Content(schema = @Schema(implementation = {{{baseType}}}.class))), {{/responses}} - }) + }, tags={ {{#vendorExtensions.x-tags}}"{{tag}}",{{/vendorExtensions.x-tags}} }) public Response {{nickname}}({{#allParams}}{{>queryParams}}{{>pathParams}}{{>headerParams}}{{>bodyParams}}{{>formParams}},{{/allParams}}@Context SecurityContext securityContext) throws NotFoundException { return delegate.{{nickname}}({{#allParams}}{{#isFormParam}}{{#isFile}}{{paramName}}Bodypart{{/isFile}}{{/isFormParam}}{{^isFile}}{{paramName}}{{/isFile}}{{^isFormParam}}{{#isFile}}{{paramName}}{{/isFile}}{{/isFormParam}}, {{/allParams}}securityContext); From bcef7a2eafe6a96be5818882ead1846cddca69bf Mon Sep 17 00:00:00 2001 From: Barry Nouwt Date: Wed, 17 Jan 2024 10:48:50 +0100 Subject: [PATCH 3/4] Change to the mustache template. Add servlet context as parameter to the service method. --- .../src/main/resources/openapi_template/api.mustache | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/smart-connector/src/main/resources/openapi_template/api.mustache b/smart-connector/src/main/resources/openapi_template/api.mustache index 775f9e13e..f319bf86a 100644 --- a/smart-connector/src/main/resources/openapi_template/api.mustache +++ b/smart-connector/src/main/resources/openapi_template/api.mustache @@ -60,7 +60,7 @@ public class {{classname}} { } if (delegate == null) { - delegate = {{classname}}ServiceFactory.get{{classname}}(); + delegate = {{classname}}ServiceFactory.get{{classname}}(servletContext); } this.delegate = delegate; } From 9090406dd8c4108204f75a2e24fb60d9b1c0c8ba Mon Sep 17 00:00:00 2001 From: Barry Nouwt Date: Wed, 17 Jan 2024 11:56:43 +0100 Subject: [PATCH 4/4] Upgrade to jersey 3.1.3 --- admin-ui/pom.xml | 133 ++++++++------- .../engine/admin/api/CORSFilter.java | 21 ++- .../admin/api/impl/AdminApiServiceImpl.java | 39 ++--- knowledge-directory/pom.xml | 151 ++++++++++-------- .../engine/knowledgedirectory/KerApiImpl.java | 11 +- .../KnowledgeDirectory.java | 8 +- smart-connector-rest-dist/pom.xml | 66 ++++---- smart-connector-rest-server/pom.xml | 70 ++++---- .../knowledge/engine/rest/api/CORSFilter.java | 22 +-- .../engine/rest/api/JsonExceptionMapper.java | 8 +- ...InteractionLifeCycleApiServiceFactory.java | 2 +- .../SmartConnectorLeaseApiServiceFactory.java | 2 +- .../VersionInfoApiServiceFactory.java | 2 +- ...dgeInteractionLifeCycleApiServiceImpl.java | 63 ++++---- .../api/impl/ProactiveApiServiceImpl.java | 97 +++++------ .../rest/api/impl/ReactiveApiServiceImpl.java | 102 ++++++------ .../rest/api/impl/RestKnowledgeBase.java | 12 +- .../SmartConnectorLeaseApiServiceImpl.java | 23 ++- ...SmartConnectorLifeCycleApiServiceImpl.java | 86 +++++----- .../api/impl/VersionInfoApiServiceImpl.java | 15 +- smart-connector/pom.xml | 95 ++++++----- .../runtime/messaging/MessageDispatcher.java | 6 +- .../messaging/RemoteKerConnectionManager.java | 4 +- .../messaging/RemoteMessageReceiver.java | 4 +- .../factories/MessagingApiServiceFactory.java | 2 +- ...tConnectorManagementApiServiceFactory.java | 2 +- .../smartconnector/api/TimeOntologyTest.java | 2 +- 27 files changed, 525 insertions(+), 523 deletions(-) diff --git a/admin-ui/pom.xml b/admin-ui/pom.xml index f3eb12960..70c06566c 100644 --- a/admin-ui/pom.xml +++ b/admin-ui/pom.xml @@ -1,5 +1,6 @@ + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 4.0.0 admin-ui jar @@ -14,10 +15,10 @@ A user interface for managing a Knowledge Network. - 1.6.12 - 9.4.51.v20230217 - 3.1.3 - 2.9.9 + 2.2.15 + 11.0.15 + 3.1.3 + 2.16.1 UTF-8 @@ -29,22 +30,10 @@ - io.swagger - swagger-jersey2-jaxrs + io.swagger.core.v3 + swagger-jaxrs2-jakarta compile ${swagger-core-version} - - - org.glassfish.jersey.containers - - jersey-container-servlet-core - - - - javax.validation - validation-api - - @@ -84,39 +73,34 @@ ${jetty-version} - + org.glassfish.jersey.containers - jersey-container-jetty-servlet - ${jersey2-version} + jersey-container-servlet-core + ${jersey3-version} org.glassfish.jersey.inject jersey-hk2 - ${jersey2-version} - - - org.glassfish.jersey.ext - jersey-bean-validation - ${jersey2-version} + ${jersey3-version} org.glassfish.jersey.media jersey-media-multipart - ${jersey2-version} + ${jersey3-version} - org.glassfish.jersey.media - jersey-media-jaxb - ${jersey2-version} + org.glassfish.jersey.containers + jersey-container-servlet + ${jersey3-version} - javax.xml.bind - jaxb-api - 2.3.1 + jakarta.xml.bind + jakarta.xml.bind-api + 4.0.1 @@ -163,16 +147,20 @@ eu.knowledge.engine.admin eu.knowledge.engine.admin.api eu.knowledge.engine.admin.model - ${project.basedir}/src/main/resources/openapi-admin-ui.yaml + + ${project.basedir}/src/main/resources/openapi-admin-ui.yaml jaxrs-jersey true true - KnowledgeInteractionLifeCycle,SmartConnectorLease + + KnowledgeInteractionLifeCycle,SmartConnectorLease dummy true true - @com.fasterxml.jackson.annotation.JsonInclude(com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL) + jersey3 + + @com.fasterxml.jackson.annotation.JsonInclude(com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL) @@ -191,7 +179,8 @@ - ${project.basedir}/target/generated-sources/openapi/src/gen/java + + ${project.basedir}/target/generated-sources/openapi/src/gen/java @@ -200,7 +189,8 @@ @@ -208,39 +198,44 @@ maven-shade-plugin 3.2.4 - true - with-dependencies - - - eu.knowledge.engine.admin.api.RestServer - - - - - false - - - - - *:* - - - META-INF/*.SF - META-INF/*.DSA - META-INF/*.RSA - - - + META-INF/*.SF + META-INF/*.DSA + META-INF/*.RSA + + + - - package - - shade - - + + package + + shade + + diff --git a/admin-ui/src/main/java/eu/knowledge/engine/admin/api/CORSFilter.java b/admin-ui/src/main/java/eu/knowledge/engine/admin/api/CORSFilter.java index 90b0616c9..2713f14f8 100644 --- a/admin-ui/src/main/java/eu/knowledge/engine/admin/api/CORSFilter.java +++ b/admin-ui/src/main/java/eu/knowledge/engine/admin/api/CORSFilter.java @@ -1,18 +1,17 @@ package eu.knowledge.engine.admin.api; -import javax.ws.rs.container.ContainerRequestContext; -import javax.ws.rs.container.ContainerResponseContext; -import javax.ws.rs.container.ContainerResponseFilter; +import jakarta.ws.rs.container.ContainerRequestContext; +import jakarta.ws.rs.container.ContainerResponseContext; +import jakarta.ws.rs.container.ContainerResponseFilter; import java.io.IOException; - public class CORSFilter implements ContainerResponseFilter { - @Override - public void filter(ContainerRequestContext request, - ContainerResponseContext response) throws IOException { - response.getHeaders().add("Access-Control-Allow-Origin", "*"); - response.getHeaders().add("Access-Control-Allow-Methods","GET, POST, PUT, DELETE, HEAD"); - response.getHeaders().add("Access-Control-Allow-Headers","Accept, Content-Type, Knowledge-Base-Id, Knowledge-Interaction-Id"); - } + @Override + public void filter(ContainerRequestContext request, ContainerResponseContext response) throws IOException { + response.getHeaders().add("Access-Control-Allow-Origin", "*"); + response.getHeaders().add("Access-Control-Allow-Methods", "GET, POST, PUT, DELETE, HEAD"); + response.getHeaders().add("Access-Control-Allow-Headers", + "Accept, Content-Type, Knowledge-Base-Id, Knowledge-Interaction-Id"); + } } diff --git a/admin-ui/src/main/java/eu/knowledge/engine/admin/api/impl/AdminApiServiceImpl.java b/admin-ui/src/main/java/eu/knowledge/engine/admin/api/impl/AdminApiServiceImpl.java index f322a6218..3f02b2606 100644 --- a/admin-ui/src/main/java/eu/knowledge/engine/admin/api/impl/AdminApiServiceImpl.java +++ b/admin-ui/src/main/java/eu/knowledge/engine/admin/api/impl/AdminApiServiceImpl.java @@ -8,17 +8,6 @@ import java.util.List; import java.util.Set; -import javax.ws.rs.GET; -import javax.ws.rs.NotFoundException; -import javax.ws.rs.Path; -import javax.ws.rs.PathParam; -import javax.ws.rs.Produces; -import javax.ws.rs.container.AsyncResponse; -import javax.ws.rs.container.Suspended; -import javax.ws.rs.core.Context; -import javax.ws.rs.core.Response; -import javax.ws.rs.core.SecurityContext; - import org.apache.jena.rdf.model.Model; import org.apache.jena.rdf.model.Resource; import org.apache.jena.rdf.model.ResourceFactory; @@ -48,7 +37,22 @@ import eu.knowledge.engine.smartconnector.impl.MessageRouter; import eu.knowledge.engine.smartconnector.impl.MyKnowledgeInteractionInfo; import eu.knowledge.engine.smartconnector.impl.ReasonerProcessor; -import io.swagger.annotations.ApiParam; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.media.Content; +import io.swagger.v3.oas.annotations.media.Schema; +import io.swagger.v3.oas.annotations.responses.ApiResponse; +import io.swagger.v3.oas.annotations.responses.ApiResponses; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.NotFoundException; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.PathParam; +import jakarta.ws.rs.Produces; +import jakarta.ws.rs.container.AsyncResponse; +import jakarta.ws.rs.container.Suspended; +import jakarta.ws.rs.core.Context; +import jakarta.ws.rs.core.Response; +import jakarta.ws.rs.core.SecurityContext; @Path("/") public class AdminApiServiceImpl { @@ -78,13 +82,12 @@ public class AdminApiServiceImpl { @GET @Path("/sc/all/{include-meta}") @Produces({ "application/json; charset=UTF-8", "text/plain; charset=UTF-8" }) - @io.swagger.annotations.ApiOperation(value = "Get all smart connectors in the network.", notes = "", response = SmartConnector.class, responseContainer = "List", tags = { - "admin UI API", }) - @io.swagger.annotations.ApiResponses(value = { - @io.swagger.annotations.ApiResponse(code = 200, message = "A list of smart connectors.", response = SmartConnector.class, responseContainer = "List"), - @io.swagger.annotations.ApiResponse(code = 500, message = "If a problem occurred.", response = String.class) }) + @Operation(summary = "Get all smart connectors in the network.", description = "", tags = { "admin UI API", }) + @ApiResponses(value = { + @ApiResponse(responseCode = "200", description = "A list of smart connectors.", content = @Content(schema = @Schema(implementation = SmartConnector.class))), + @ApiResponse(responseCode = "500", description = "If a problem occurred.", content = @Content(schema = @Schema(implementation = String.class))) }) public void getSCOverview( - @ApiParam(value = "Include Meta-Knowledge-Interactions.", defaultValue = "true") @PathParam("include-meta") boolean includeMeta, + @Parameter(description = "Include Meta-Knowledge-Interactions.", schema = @Schema(defaultValue = "true")) @PathParam("include-meta") boolean includeMeta, @Suspended final AsyncResponse asyncResponse, @Context SecurityContext securityContext) throws NotFoundException { admin = AdminUI.newInstance(false); diff --git a/knowledge-directory/pom.xml b/knowledge-directory/pom.xml index 0692778b9..d4621d214 100644 --- a/knowledge-directory/pom.xml +++ b/knowledge-directory/pom.xml @@ -14,34 +14,29 @@ - 1.6.12 - 1.1.0.Final - 9.4.51.v20230217 - 3.1.3 - 2.9.9 + 2.2.15 + 3.0.2 + 11.0.15 + 3.1.3 + 2.16.1 4.13.1 - 1.1.7 - 4.0.1 + 1.4.14 + 5.0.0 UTF-8 - io.swagger - swagger-jersey2-jaxrs + io.swagger.core.v3 + swagger-jaxrs2-jakarta compile ${swagger-core-version} - - - - - - - - - - + + io.swagger.core.v3 + swagger-jaxrs2-servlet-initializer-v2-jakarta + ${swagger-core-version} + ch.qos.logback logback-core @@ -55,21 +50,25 @@ test - javax.servlet - javax.servlet-api + jakarta.servlet + jakarta.servlet-api ${servlet-api-version} - compile - - - - - - - - - - + + org.glassfish.jersey.containers + jersey-container-servlet-core + ${jersey3-version} + + + org.glassfish.jersey.inject + jersey-hk2 + ${jersey3-version} + + + org.glassfish.jersey.media + jersey-media-multipart + ${jersey3-version} + com.fasterxml.jackson.datatype jackson-datatype-joda @@ -110,8 +109,8 @@ - javax.validation - validation-api + jakarta.validation + jakarta.validation-api ${beanvalidation-version} provided @@ -143,9 +142,9 @@ - javax.xml.bind - jaxb-api - 2.3.1 + jakarta.xml.bind + jakarta.xml.bind-api + 4.0.1 @@ -164,9 +163,12 @@ eu.knowledge.engine.knowledgedirectory - eu.knowledge.engine.knowledgedirectory.api - eu.knowledge.engine.knowledgedirectory.model - ${project.basedir}/src/main/resources/openapi-kd.yaml + + eu.knowledge.engine.knowledgedirectory.api + + eu.knowledge.engine.knowledgedirectory.model + + ${project.basedir}/src/main/resources/openapi-kd.yaml jaxrs-jersey true true @@ -175,6 +177,7 @@ true true java8 + jersey3 @@ -193,7 +196,8 @@ - ${project.basedir}/target/generated-sources/openapi/src/gen/java + + ${project.basedir}/target/generated-sources/openapi/src/gen/java @@ -214,7 +218,8 @@ @@ -222,39 +227,47 @@ maven-shade-plugin 3.2.4 - true - with-dependencies - - - eu.knowledge.engine.knowledgedirectory.Main - - - - - - *:* - - - META-INF/*.SF - META-INF/*.DSA - META-INF/*.RSA - - - + META-INF/*.SF + META-INF/*.DSA + META-INF/*.RSA + + + - - package - - shade - - + + package + + shade + + diff --git a/knowledge-directory/src/main/java/eu/knowledge/engine/knowledgedirectory/KerApiImpl.java b/knowledge-directory/src/main/java/eu/knowledge/engine/knowledgedirectory/KerApiImpl.java index 7ce51e19f..fcd644802 100644 --- a/knowledge-directory/src/main/java/eu/knowledge/engine/knowledgedirectory/KerApiImpl.java +++ b/knowledge-directory/src/main/java/eu/knowledge/engine/knowledgedirectory/KerApiImpl.java @@ -6,8 +6,8 @@ import java.util.Map; import java.util.concurrent.ConcurrentHashMap; -import javax.ws.rs.core.Response; -import javax.ws.rs.core.SecurityContext; +import jakarta.ws.rs.core.Response; +import jakarta.ws.rs.core.SecurityContext; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -51,8 +51,7 @@ public Response kerPost(KnowledgeEngineRuntimeConnectionDetails knowledgeEngineR cleanupExpired(); // Required data present? - if (knowledgeEngineRuntime.getExposedUrl() == null - || knowledgeEngineRuntime.getProtocolVersion() == null) { + if (knowledgeEngineRuntime.getExposedUrl() == null || knowledgeEngineRuntime.getProtocolVersion() == null) { return Response.status(400).entity("Data was not valid").build(); } @@ -60,7 +59,9 @@ public Response kerPost(KnowledgeEngineRuntimeConnectionDetails knowledgeEngineR var uriWithCredentials = knowledgeEngineRuntime.getExposedUrl(); URI uriWithoutCredentials; try { - uriWithoutCredentials = new URI(uriWithCredentials.getScheme(),null, uriWithCredentials.getHost(), uriWithCredentials.getPort(),uriWithCredentials.getPath(), uriWithCredentials.getQuery(), uriWithCredentials.getFragment()); + uriWithoutCredentials = new URI(uriWithCredentials.getScheme(), null, uriWithCredentials.getHost(), + uriWithCredentials.getPort(), uriWithCredentials.getPath(), uriWithCredentials.getQuery(), + uriWithCredentials.getFragment()); } catch (URISyntaxException e) { throw new RuntimeException("Encountered invalid URI syntax while stripping userinfo from URI."); } diff --git a/knowledge-directory/src/main/java/eu/knowledge/engine/knowledgedirectory/KnowledgeDirectory.java b/knowledge-directory/src/main/java/eu/knowledge/engine/knowledgedirectory/KnowledgeDirectory.java index 3fa3e98c5..0706a26b5 100644 --- a/knowledge-directory/src/main/java/eu/knowledge/engine/knowledgedirectory/KnowledgeDirectory.java +++ b/knowledge-directory/src/main/java/eu/knowledge/engine/knowledgedirectory/KnowledgeDirectory.java @@ -7,6 +7,8 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import jakarta.servlet.Servlet; + public class KnowledgeDirectory { public static final Logger LOG = LoggerFactory.getLogger(KnowledgeDirectory.class); @@ -39,10 +41,10 @@ public void start() throws Exception { ctx.setContextPath("/"); server.setHandler(ctx); - ServletHolder serHol = ctx.addServlet(ServletContainer.class, "/*"); + ServletHolder serHol = new ServletHolder(ServletContainer.class); + ctx.addServlet(serHol, "/*"); serHol.setInitOrder(1); - serHol.setInitParameter("jersey.config.server.provider.packages", - "eu.knowledge.engine.knowledgedirectory"); + serHol.setInitParameter("jersey.config.server.provider.packages", "eu.knowledge.engine.knowledgedirectory"); server.start(); } diff --git a/smart-connector-rest-dist/pom.xml b/smart-connector-rest-dist/pom.xml index dbf22aa43..a5cb24251 100644 --- a/smart-connector-rest-dist/pom.xml +++ b/smart-connector-rest-dist/pom.xml @@ -53,7 +53,8 @@ @@ -61,39 +62,44 @@ maven-shade-plugin 3.2.4 - true - with-dependencies - - - eu.knowledge.engine.rest.Main - - - - - false - - - - - *:* - - - META-INF/*.SF - META-INF/*.DSA - META-INF/*.RSA - - - + META-INF/*.SF + META-INF/*.DSA + META-INF/*.RSA + + + - - package - - shade - - + + package + + shade + + diff --git a/smart-connector-rest-server/pom.xml b/smart-connector-rest-server/pom.xml index 64d04c7ad..5072aac5a 100644 --- a/smart-connector-rest-server/pom.xml +++ b/smart-connector-rest-server/pom.xml @@ -11,31 +11,19 @@ - 1.6.12 - 9.4.51.v20230217 - 3.1.3 - 2.9.9 + 2.2.15 + 11.0.15 + 3.1.3 + 2.15.2 UTF-8 - io.swagger - swagger-jersey2-jaxrs + io.swagger.core.v3 + swagger-jaxrs2-jakarta compile ${swagger-core-version} - - - org.glassfish.jersey.containers - - jersey-container-servlet-core - - - - javax.validation - validation-api - - @@ -72,39 +60,34 @@ ${jetty-version} - + org.glassfish.jersey.containers - jersey-container-jetty-servlet - ${jersey2-version} + jersey-container-servlet-core + ${jersey3-version} org.glassfish.jersey.inject jersey-hk2 - ${jersey2-version} - - - org.glassfish.jersey.ext - jersey-bean-validation - ${jersey2-version} + ${jersey3-version} org.glassfish.jersey.media jersey-media-multipart - ${jersey2-version} + ${jersey3-version} - org.glassfish.jersey.media - jersey-media-jaxb - ${jersey2-version} + org.glassfish.jersey.containers + jersey-container-servlet + ${jersey3-version} - javax.xml.bind - jaxb-api - 2.3.1 + jakarta.xml.bind + jakarta.xml.bind-api + 4.0.1 @@ -113,6 +96,12 @@ org.apache.jena apache-jena-libs pom + + + javax.annotation + javax.annotation-api + + @@ -165,16 +154,20 @@ eu.knowledge.engine.rest eu.knowledge.engine.rest.api eu.knowledge.engine.rest.model - ${project.basedir}/src/main/resources/openapi-sc.yaml + + ${project.basedir}/src/main/resources/openapi-sc.yaml jaxrs-jersey true true - KnowledgeInteractionLifeCycle,SmartConnectorLease,VersionInfo + + KnowledgeInteractionLifeCycle,SmartConnectorLease,VersionInfo dummy true + jersey3 true - @com.fasterxml.jackson.annotation.JsonInclude(com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL) + + @com.fasterxml.jackson.annotation.JsonInclude(com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL) @@ -193,7 +186,8 @@ - ${project.basedir}/target/generated-sources/openapi/src/gen/java + + ${project.basedir}/target/generated-sources/openapi/src/gen/java diff --git a/smart-connector-rest-server/src/main/java/eu/knowledge/engine/rest/api/CORSFilter.java b/smart-connector-rest-server/src/main/java/eu/knowledge/engine/rest/api/CORSFilter.java index b09141d83..1aa18d484 100644 --- a/smart-connector-rest-server/src/main/java/eu/knowledge/engine/rest/api/CORSFilter.java +++ b/smart-connector-rest-server/src/main/java/eu/knowledge/engine/rest/api/CORSFilter.java @@ -1,17 +1,17 @@ package eu.knowledge.engine.rest.api; -import java.io.IOException; -import javax.ws.rs.container.ContainerRequestContext; -import javax.ws.rs.container.ContainerResponseContext; -import javax.ws.rs.container.ContainerResponseFilter; +import java.io.IOException; +import jakarta.ws.rs.container.ContainerRequestContext; +import jakarta.ws.rs.container.ContainerResponseContext; +import jakarta.ws.rs.container.ContainerResponseFilter; public class CORSFilter implements ContainerResponseFilter { - @Override - public void filter(ContainerRequestContext request, - ContainerResponseContext response) throws IOException { - response.getHeaders().add("Access-Control-Allow-Origin", "*"); - response.getHeaders().add("Access-Control-Allow-Methods","GET, POST, PUT, DELETE, HEAD"); - response.getHeaders().add("Access-Control-Allow-Headers","Accept, Content-Type, Knowledge-Base-Id, Knowledge-Interaction-Id"); - } + @Override + public void filter(ContainerRequestContext request, ContainerResponseContext response) throws IOException { + response.getHeaders().add("Access-Control-Allow-Origin", "*"); + response.getHeaders().add("Access-Control-Allow-Methods", "GET, POST, PUT, DELETE, HEAD"); + response.getHeaders().add("Access-Control-Allow-Headers", + "Accept, Content-Type, Knowledge-Base-Id, Knowledge-Interaction-Id"); + } } diff --git a/smart-connector-rest-server/src/main/java/eu/knowledge/engine/rest/api/JsonExceptionMapper.java b/smart-connector-rest-server/src/main/java/eu/knowledge/engine/rest/api/JsonExceptionMapper.java index 12d3c897a..c9604e922 100644 --- a/smart-connector-rest-server/src/main/java/eu/knowledge/engine/rest/api/JsonExceptionMapper.java +++ b/smart-connector-rest-server/src/main/java/eu/knowledge/engine/rest/api/JsonExceptionMapper.java @@ -1,9 +1,9 @@ package eu.knowledge.engine.rest.api; -import javax.ws.rs.core.MediaType; -import javax.ws.rs.core.Response; -import javax.ws.rs.ext.ExceptionMapper; -import javax.ws.rs.ext.Provider; +import jakarta.ws.rs.core.MediaType; +import jakarta.ws.rs.core.Response; +import jakarta.ws.rs.ext.ExceptionMapper; +import jakarta.ws.rs.ext.Provider; import com.fasterxml.jackson.core.JsonProcessingException; diff --git a/smart-connector-rest-server/src/main/java/eu/knowledge/engine/rest/api/factories/KnowledgeInteractionLifeCycleApiServiceFactory.java b/smart-connector-rest-server/src/main/java/eu/knowledge/engine/rest/api/factories/KnowledgeInteractionLifeCycleApiServiceFactory.java index 69a6450f3..3fefa0d53 100644 --- a/smart-connector-rest-server/src/main/java/eu/knowledge/engine/rest/api/factories/KnowledgeInteractionLifeCycleApiServiceFactory.java +++ b/smart-connector-rest-server/src/main/java/eu/knowledge/engine/rest/api/factories/KnowledgeInteractionLifeCycleApiServiceFactory.java @@ -3,7 +3,7 @@ import eu.knowledge.engine.rest.api.KnowledgeInteractionLifeCycleApiService; import eu.knowledge.engine.rest.api.impl.KnowledgeInteractionLifeCycleApiServiceImpl; -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaJerseyServerCodegen", date = "2021-03-16T16:55:43.224496100+01:00[Europe/Amsterdam]") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaJerseyServerCodegen", date = "2021-03-16T16:55:43.224496100+01:00[Europe/Amsterdam]") public class KnowledgeInteractionLifeCycleApiServiceFactory { private static final KnowledgeInteractionLifeCycleApiService service = new KnowledgeInteractionLifeCycleApiServiceImpl(); diff --git a/smart-connector-rest-server/src/main/java/eu/knowledge/engine/rest/api/factories/SmartConnectorLeaseApiServiceFactory.java b/smart-connector-rest-server/src/main/java/eu/knowledge/engine/rest/api/factories/SmartConnectorLeaseApiServiceFactory.java index 056aa6cc7..c0bff2399 100644 --- a/smart-connector-rest-server/src/main/java/eu/knowledge/engine/rest/api/factories/SmartConnectorLeaseApiServiceFactory.java +++ b/smart-connector-rest-server/src/main/java/eu/knowledge/engine/rest/api/factories/SmartConnectorLeaseApiServiceFactory.java @@ -3,7 +3,7 @@ import eu.knowledge.engine.rest.api.SmartConnectorLeaseApiService; import eu.knowledge.engine.rest.api.impl.SmartConnectorLeaseApiServiceImpl; -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaJerseyServerCodegen", date = "2021-03-16T16:55:43.224496100+01:00[Europe/Amsterdam]") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaJerseyServerCodegen", date = "2021-03-16T16:55:43.224496100+01:00[Europe/Amsterdam]") public class SmartConnectorLeaseApiServiceFactory { private static final SmartConnectorLeaseApiService service = new SmartConnectorLeaseApiServiceImpl(); diff --git a/smart-connector-rest-server/src/main/java/eu/knowledge/engine/rest/api/factories/VersionInfoApiServiceFactory.java b/smart-connector-rest-server/src/main/java/eu/knowledge/engine/rest/api/factories/VersionInfoApiServiceFactory.java index a779d625b..c2f84e910 100644 --- a/smart-connector-rest-server/src/main/java/eu/knowledge/engine/rest/api/factories/VersionInfoApiServiceFactory.java +++ b/smart-connector-rest-server/src/main/java/eu/knowledge/engine/rest/api/factories/VersionInfoApiServiceFactory.java @@ -3,7 +3,7 @@ import eu.knowledge.engine.rest.api.VersionInfoApiService; import eu.knowledge.engine.rest.api.impl.VersionInfoApiServiceImpl; -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaJerseyServerCodegen", date = "2022-05-13T16:52:43.224496100+01:00[Europe/Amsterdam]") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaJerseyServerCodegen", date = "2022-05-13T16:52:43.224496100+01:00[Europe/Amsterdam]") public class VersionInfoApiServiceFactory { private static final VersionInfoApiService service = new VersionInfoApiServiceImpl(); diff --git a/smart-connector-rest-server/src/main/java/eu/knowledge/engine/rest/api/impl/KnowledgeInteractionLifeCycleApiServiceImpl.java b/smart-connector-rest-server/src/main/java/eu/knowledge/engine/rest/api/impl/KnowledgeInteractionLifeCycleApiServiceImpl.java index a4e11766d..236a425fc 100644 --- a/smart-connector-rest-server/src/main/java/eu/knowledge/engine/rest/api/impl/KnowledgeInteractionLifeCycleApiServiceImpl.java +++ b/smart-connector-rest-server/src/main/java/eu/knowledge/engine/rest/api/impl/KnowledgeInteractionLifeCycleApiServiceImpl.java @@ -4,10 +4,6 @@ import java.net.URISyntaxException; import java.util.Set; -import javax.ws.rs.core.Response; -import javax.ws.rs.core.SecurityContext; -import javax.ws.rs.core.Response.Status; - import org.apache.jena.query.QueryParseException; import org.apache.jena.sparql.lang.arq.TokenMgrError; import org.slf4j.Logger; @@ -19,16 +15,19 @@ import eu.knowledge.engine.rest.model.KnowledgeInteractionId; import eu.knowledge.engine.rest.model.KnowledgeInteractionWithId; import eu.knowledge.engine.rest.model.ResponseMessage; +import jakarta.ws.rs.core.Response; +import jakarta.ws.rs.core.Response.Status; +import jakarta.ws.rs.core.SecurityContext; -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaJerseyServerCodegen", date = "2021-03-16T16:55:43.224496100+01:00[Europe/Amsterdam]") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaJerseyServerCodegen", date = "2021-03-16T16:55:43.224496100+01:00[Europe/Amsterdam]") public class KnowledgeInteractionLifeCycleApiServiceImpl extends KnowledgeInteractionLifeCycleApiService { private static final Logger LOG = LoggerFactory.getLogger(KnowledgeInteractionLifeCycleApiServiceImpl.class); private RestKnowledgeBaseManager manager = RestKnowledgeBaseManager.newInstance(); @Override - public Response scKiPost(String knowledgeBaseId, KnowledgeInteractionBase knowledgeInteraction, SecurityContext securityContext) - throws NotFoundException { + public Response scKiPost(String knowledgeBaseId, KnowledgeInteractionBase knowledgeInteraction, + SecurityContext securityContext) throws NotFoundException { if (knowledgeBaseId == null) { var response = new ResponseMessage(); response.setMessageType("error"); @@ -42,8 +41,7 @@ public Response scKiPost(String knowledgeBaseId, KnowledgeInteractionBase knowle var response = new ResponseMessage(); response.setMessageType("error"); response.setMessage("Knowledge base not found, because its knowledge base ID must be a valid URI."); - return Response.status(400).entity(response) - .build(); + return Response.status(400).entity(response).build(); } var restKb = manager.getKB(knowledgeBaseId); @@ -52,15 +50,16 @@ public Response scKiPost(String knowledgeBaseId, KnowledgeInteractionBase knowle manager.removeSuspendedKB(knowledgeBaseId); var response = new ResponseMessage(); response.setMessageType("error"); - response.setMessage("This knowledge base has been suspended due to inactivity. Please reregister the knowledge base and its knowledge interactions."); - return Response.status(Status.NOT_FOUND).entity( - response) - .build(); + response.setMessage( + "This knowledge base has been suspended due to inactivity. Please reregister the knowledge base and its knowledge interactions."); + return Response.status(Status.NOT_FOUND).entity(response).build(); } else { LOG.info("Someone tried to add a KI to KB {}, but it does not exist.", knowledgeBaseId); var response = new ResponseMessage(); response.setMessageType("error"); - response.setMessage(String.format("Could not add knowledge interaction, because the given knowledge base ID (%s) is unknown.", knowledgeBaseId)); + response.setMessage(String.format( + "Could not add knowledge interaction, because the given knowledge base ID (%s) is unknown.", + knowledgeBaseId)); return Response.status(Status.NOT_FOUND).entity(response).build(); } } @@ -75,7 +74,8 @@ public Response scKiPost(String knowledgeBaseId, KnowledgeInteractionBase knowle return Response.status(400).entity(resposne).build(); } catch (QueryParseException e) { var msg = e.getMessage(); - // If this is a Jena error about prefixes, enrich the message with a KE-specific note. + // If this is a Jena error about prefixes, enrich the message with a KE-specific + // note. if (msg.contains("prefix")) { msg = msg + ". Note: Have you included your prefixes in the 'prefixes' property?"; } @@ -93,20 +93,19 @@ public Response scKiPost(String knowledgeBaseId, KnowledgeInteractionBase knowle var response = new ResponseMessage(); response.setMessageType("error"); response.setMessage("The registration of the knowledge interaction failed, because of an internal error."); - return Response.status(500).entity( - response) - .build(); + return Response.status(500).entity(response).build(); } - LOG.info("Knowledge interaction created in KB {}: {} (issued id: {})", knowledgeBaseId, knowledgeInteraction, kiId); + LOG.info("Knowledge interaction created in KB {}: {} (issued id: {})", knowledgeBaseId, knowledgeInteraction, + kiId); KnowledgeInteractionId kii = new KnowledgeInteractionId(); kii.setKnowledgeInteractionId(kiId); return Response.ok().entity(kii).build(); } @Override - public Response scKiDelete(String knowledgeBaseId, String knowledgeInteractionId, - SecurityContext securityContext) throws NotFoundException { + public Response scKiDelete(String knowledgeBaseId, String knowledgeInteractionId, SecurityContext securityContext) + throws NotFoundException { var restKb = manager.getKB(knowledgeBaseId); if (restKb == null) { @@ -114,10 +113,9 @@ public Response scKiDelete(String knowledgeBaseId, String knowledgeInteractionId manager.removeSuspendedKB(knowledgeBaseId); var response = new ResponseMessage(); response.setMessageType("error"); - response.setMessage("This knowledge base has been suspended due to inactivity. Please reregister the knowledge base and its knowledge interactions."); - return Response.status(Status.NOT_FOUND).entity( - response) - .build(); + response.setMessage( + "This knowledge base has been suspended due to inactivity. Please reregister the knowledge base and its knowledge interactions."); + return Response.status(Status.NOT_FOUND).entity(response).build(); } else { var response = new ResponseMessage(); response.setMessageType("error"); @@ -132,13 +130,13 @@ public Response scKiDelete(String knowledgeBaseId, String knowledgeInteractionId response.setMessage("Missing valid Knowledge-Interaction-Id header."); return Response.status(400).entity(response).build(); } - + if (!restKb.hasKnowledgeInteraction(knowledgeInteractionId)) { var response = new ResponseMessage(); response.setMessageType("error"); - response.setMessage("Knowledge base found, but the given knowledge interaction knowledge base ID is unknown."); - return Response.status(Status.NOT_FOUND) - .entity(response).build(); + response.setMessage( + "Knowledge base found, but the given knowledge interaction knowledge base ID is unknown."); + return Response.status(Status.NOT_FOUND).entity(response).build(); } restKb.delete(knowledgeInteractionId); @@ -157,10 +155,9 @@ public Response scKiGet(String knowledgeBaseId, SecurityContext securityContext) manager.removeSuspendedKB(knowledgeBaseId); var response = new ResponseMessage(); response.setMessageType("error"); - response.setMessage("This knowledge base has been suspended due to inactivity. Please reregister the knowledge base and its knowledge interactions."); - return Response.status(Status.NOT_FOUND).entity( - response) - .build(); + response.setMessage( + "This knowledge base has been suspended due to inactivity. Please reregister the knowledge base and its knowledge interactions."); + return Response.status(Status.NOT_FOUND).entity(response).build(); } else { var response = new ResponseMessage(); response.setMessageType("error"); diff --git a/smart-connector-rest-server/src/main/java/eu/knowledge/engine/rest/api/impl/ProactiveApiServiceImpl.java b/smart-connector-rest-server/src/main/java/eu/knowledge/engine/rest/api/impl/ProactiveApiServiceImpl.java index b9f183559..f9bc9e91d 100644 --- a/smart-connector-rest-server/src/main/java/eu/knowledge/engine/rest/api/impl/ProactiveApiServiceImpl.java +++ b/smart-connector-rest-server/src/main/java/eu/knowledge/engine/rest/api/impl/ProactiveApiServiceImpl.java @@ -10,20 +10,6 @@ import java.util.concurrent.ExecutionException; import java.util.stream.Collectors; -import javax.validation.Valid; -import javax.validation.constraints.NotNull; -import javax.ws.rs.Consumes; -import javax.ws.rs.HeaderParam; -import javax.ws.rs.POST; -import javax.ws.rs.Path; -import javax.ws.rs.Produces; -import javax.ws.rs.container.AsyncResponse; -import javax.ws.rs.container.Suspended; -import javax.ws.rs.core.Context; -import javax.ws.rs.core.Response; -import javax.ws.rs.core.Response.Status; -import javax.ws.rs.core.SecurityContext; - import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -38,7 +24,20 @@ import eu.knowledge.engine.rest.model.ResponseMessage; import eu.knowledge.engine.smartconnector.api.BindingSet; import eu.knowledge.engine.smartconnector.api.ExchangeInfo.Initiator; -import io.swagger.annotations.ApiParam; +import io.swagger.v3.oas.annotations.Parameter; +import jakarta.validation.Valid; +import jakarta.validation.constraints.NotNull; +import jakarta.ws.rs.Consumes; +import jakarta.ws.rs.HeaderParam; +import jakarta.ws.rs.POST; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.Produces; +import jakarta.ws.rs.container.AsyncResponse; +import jakarta.ws.rs.container.Suspended; +import jakarta.ws.rs.core.Context; +import jakarta.ws.rs.core.Response; +import jakarta.ws.rs.core.Response.Status; +import jakarta.ws.rs.core.SecurityContext; @Path("/sc") public class ProactiveApiServiceImpl { @@ -52,10 +51,10 @@ public class ProactiveApiServiceImpl { @Consumes({ "application/json; charset=UTF-8" }) @Produces({ "application/json; charset=UTF-8", "text/plain; charset=UTF-8" }) public void scAskPost( - @ApiParam(value = "The Knowledge Base Id for which to execute the ask.", required = true) @HeaderParam("Knowledge-Base-Id") String knowledgeBaseId, - @ApiParam(value = "The Ask Knowledge Interaction Id to execute.", required = true) @HeaderParam("Knowledge-Interaction-Id") String knowledgeInteractionId, + @Parameter(description = "The Knowledge Base Id for which to execute the ask.", required = true) @HeaderParam("Knowledge-Base-Id") String knowledgeBaseId, + @Parameter(description = "The Ask Knowledge Interaction Id to execute.", required = true) @HeaderParam("Knowledge-Interaction-Id") String knowledgeInteractionId, - @ApiParam(value = "The keys bindings are allowed to be incomplete, but they must correspond to the binding keys that were defined in the knowledge interaction.", required = true) @NotNull @Valid JsonNode recipientAndBindingSet, + @Parameter(description = "The keys bindings are allowed to be incomplete, but they must correspond to the binding keys that were defined in the knowledge interaction.", required = true) @NotNull @Valid JsonNode recipientAndBindingSet, @Suspended final AsyncResponse asyncResponse, @Context SecurityContext securityContext) { LOG.debug("scAskPost called for KB {} and KI {} - {}", knowledgeBaseId, knowledgeInteractionId, @@ -77,8 +76,7 @@ public void scAskPost( var response = new ResponseMessage(); response.setMessageType("error"); response.setMessage("Both Knowledge-Base-Id and Knowledge-Interaction-Id headers should be non-null."); - asyncResponse.resume(Response.status(Status.BAD_REQUEST) - .entity(response).build()); + asyncResponse.resume(Response.status(Status.BAD_REQUEST).entity(response).build()); return; } @@ -88,17 +86,15 @@ public void scAskPost( this.manager.removeSuspendedKB(knowledgeBaseId); var response = new ResponseMessage(); response.setMessageType("error"); - response.setMessage("This knowledge base has been suspended due to inactivity. Please reregister the knowledge base and its knowledge interactions."); - asyncResponse.resume(Response.status(Status.NOT_FOUND).entity( - response) - .build()); + response.setMessage( + "This knowledge base has been suspended due to inactivity. Please reregister the knowledge base and its knowledge interactions."); + asyncResponse.resume(Response.status(Status.NOT_FOUND).entity(response).build()); return; } else { var response = new ResponseMessage(); response.setMessageType("error"); response.setMessage("Smart connector not found, because its ID is unknown."); - asyncResponse.resume( - Response.status(Status.NOT_FOUND).entity(response).build()); + asyncResponse.resume(Response.status(Status.NOT_FOUND).entity(response).build()); return; } } @@ -109,8 +105,7 @@ public void scAskPost( var response = new ResponseMessage(); response.setMessageType("error"); response.setMessage("Knowledge interaction not found, because its ID must be a valid URI."); - asyncResponse.resume(Response.status(Status.BAD_REQUEST) - .entity(response).build()); + asyncResponse.resume(Response.status(Status.BAD_REQUEST).entity(response).build()); return; } @@ -118,8 +113,7 @@ public void scAskPost( var response = new ResponseMessage(); response.setMessageType("error"); response.setMessage("Knowledge Interaction not found, because its ID is unknown."); - asyncResponse.resume( - Response.status(Status.NOT_FOUND).entity(response).build()); + asyncResponse.resume(Response.status(Status.NOT_FOUND).entity(response).build()); return; } @@ -128,10 +122,8 @@ public void scAskPost( var response = new ResponseMessage(); response.setMessageType("error"); response.setMessage("Given Knowledge Interaction ID should have type AskKnowledgeInteraction and not " - + ki.getKnowledgeInteractionType() + "."); - asyncResponse.resume(Response.status(Status.BAD_REQUEST) - .entity(response) - .build()); + + ki.getKnowledgeInteractionType() + "."); + asyncResponse.resume(Response.status(Status.BAD_REQUEST).entity(response).build()); return; } @@ -164,8 +156,7 @@ public void scAskPost( var response = new ResponseMessage(); response.setMessageType("error"); response.setMessage("Something went wrong while sending a POST or while waiting on the REACT."); - asyncResponse.resume(Response.status(Status.INTERNAL_SERVER_ERROR) - .entity(response).build()); + asyncResponse.resume(Response.status(Status.INTERNAL_SERVER_ERROR).entity(response).build()); } catch (IllegalArgumentException e) { LOG.trace("", e); var response = new ResponseMessage(); @@ -204,9 +195,9 @@ private AskExchangeInfo.InitiatorEnum toInitiatorEnumAsk(Initiator initiator) { @Consumes({ "application/json; charset=UTF-8" }) @Produces({ "application/json; charset=UTF-8", "text/plain; charset=UTF-8" }) public void scPostPost( - @ApiParam(value = "The Knowledge Base Id for which to execute the ask.", required = true) @HeaderParam("Knowledge-Base-Id") String knowledgeBaseId, - @ApiParam(value = "The Post Knowledge Interaction Id to execute.", required = true) @HeaderParam("Knowledge-Interaction-Id") String knowledgeInteractionId, - @ApiParam(value = "The keys bindings must be complete, and they must correspond to the binding keys that were defined in the knowledge interaction.", required = true) @NotNull @Valid JsonNode recipientAndBindingSet, + @Parameter(description = "The Knowledge Base Id for which to execute the ask.", required = true) @HeaderParam("Knowledge-Base-Id") String knowledgeBaseId, + @Parameter(description = "The Post Knowledge Interaction Id to execute.", required = true) @HeaderParam("Knowledge-Interaction-Id") String knowledgeInteractionId, + @Parameter(description = "The keys bindings must be complete, and they must correspond to the binding keys that were defined in the knowledge interaction.", required = true) @NotNull @Valid JsonNode recipientAndBindingSet, @Suspended final AsyncResponse asyncResponse, @Context SecurityContext securityContext) throws NotFoundException { @@ -229,8 +220,7 @@ public void scPostPost( var response = new ResponseMessage(); response.setMessageType("error"); response.setMessage("Both Knowledge-Base-Id and Knowledge-Interaction-Id headers should be non-null."); - asyncResponse.resume(Response.status(Status.BAD_REQUEST) - .entity(response).build()); + asyncResponse.resume(Response.status(Status.BAD_REQUEST).entity(response).build()); return; } @@ -240,17 +230,15 @@ public void scPostPost( manager.removeSuspendedKB(knowledgeBaseId); var response = new ResponseMessage(); response.setMessageType("error"); - response.setMessage("This knowledge base has been suspended due to inactivity. Please reregister the knowledge base and its knowledge interactions."); - asyncResponse.resume(Response.status(Status.NOT_FOUND).entity( - response) - .build()); + response.setMessage( + "This knowledge base has been suspended due to inactivity. Please reregister the knowledge base and its knowledge interactions."); + asyncResponse.resume(Response.status(Status.NOT_FOUND).entity(response).build()); return; } else { var response = new ResponseMessage(); response.setMessageType("error"); response.setMessage("Smart connector not found, because its ID is unknown."); - asyncResponse.resume( - Response.status(Status.NOT_FOUND).entity(response).build()); + asyncResponse.resume(Response.status(Status.NOT_FOUND).entity(response).build()); return; } } @@ -262,8 +250,7 @@ public void scPostPost( var response = new ResponseMessage(); response.setMessageType("error"); response.setMessage("Knowledge interaction not found, because its ID must be a valid URI."); - asyncResponse.resume(Response.status(Status.BAD_REQUEST) - .entity(response).build()); + asyncResponse.resume(Response.status(Status.BAD_REQUEST).entity(response).build()); return; } @@ -271,8 +258,7 @@ public void scPostPost( var response = new ResponseMessage(); response.setMessageType("error"); response.setMessage("Knowledge Interaction not found, because its ID is unknown."); - asyncResponse.resume( - Response.status(404).entity(response).build()); + asyncResponse.resume(Response.status(404).entity(response).build()); return; } @@ -281,10 +267,8 @@ public void scPostPost( var response = new ResponseMessage(); response.setMessageType("error"); response.setMessage("Given Knowledge Interaction ID should have type PostKnowledgeInteraction and not " - + ki.getKnowledgeInteractionType() + "."); - asyncResponse.resume(Response.status(Status.BAD_REQUEST) - .entity(response) - .build()); + + ki.getKnowledgeInteractionType() + "."); + asyncResponse.resume(Response.status(Status.BAD_REQUEST).entity(response).build()); return; } else { @@ -320,8 +304,7 @@ public void scPostPost( var response = new ResponseMessage(); response.setMessageType("error"); response.setMessage("Something went wrong while sending a POST or while waiting on the REACT."); - asyncResponse.resume(Response.status(Status.INTERNAL_SERVER_ERROR) - .entity(response).build()); + asyncResponse.resume(Response.status(Status.INTERNAL_SERVER_ERROR).entity(response).build()); } catch (IllegalArgumentException e) { LOG.trace("", e); var response = new ResponseMessage(); diff --git a/smart-connector-rest-server/src/main/java/eu/knowledge/engine/rest/api/impl/ReactiveApiServiceImpl.java b/smart-connector-rest-server/src/main/java/eu/knowledge/engine/rest/api/impl/ReactiveApiServiceImpl.java index bbb053462..937862c0d 100644 --- a/smart-connector-rest-server/src/main/java/eu/knowledge/engine/rest/api/impl/ReactiveApiServiceImpl.java +++ b/smart-connector-rest-server/src/main/java/eu/knowledge/engine/rest/api/impl/ReactiveApiServiceImpl.java @@ -5,30 +5,29 @@ import java.net.URISyntaxException; import java.util.concurrent.TimeUnit; -import javax.validation.Valid; -import javax.validation.constraints.NotNull; -import javax.ws.rs.Consumes; -import javax.ws.rs.GET; -import javax.ws.rs.HeaderParam; -import javax.ws.rs.POST; -import javax.ws.rs.Path; -import javax.ws.rs.Produces; -import javax.ws.rs.container.AsyncResponse; -import javax.ws.rs.container.Suspended; -import javax.ws.rs.container.TimeoutHandler; -import javax.ws.rs.core.Context; -import javax.ws.rs.core.Response; -import javax.ws.rs.core.Response.Status; -import javax.ws.rs.core.Response.ResponseBuilder; -import javax.ws.rs.core.SecurityContext; - import org.slf4j.Logger; import org.slf4j.LoggerFactory; import eu.knowledge.engine.rest.api.NotFoundException; import eu.knowledge.engine.rest.model.KnowledgeInteractionWithId; import eu.knowledge.engine.rest.model.ResponseMessage; -import io.swagger.annotations.ApiParam; +import io.swagger.v3.oas.annotations.Parameter; +import jakarta.validation.Valid; +import jakarta.validation.constraints.NotNull; +import jakarta.ws.rs.Consumes; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.HeaderParam; +import jakarta.ws.rs.POST; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.Produces; +import jakarta.ws.rs.container.AsyncResponse; +import jakarta.ws.rs.container.Suspended; +import jakarta.ws.rs.container.TimeoutHandler; +import jakarta.ws.rs.core.Context; +import jakarta.ws.rs.core.Response; +import jakarta.ws.rs.core.Response.ResponseBuilder; +import jakarta.ws.rs.core.Response.Status; +import jakarta.ws.rs.core.SecurityContext; @Path("/sc") public class ReactiveApiServiceImpl { @@ -48,7 +47,7 @@ public class ReactiveApiServiceImpl { @Consumes({ "application/json; charset=UTF-8" }) @Produces({ "application/json; charset=UTF-8", "text/plain; charset=UTF-8" }) public void scHandleGet( - @ApiParam(value = "The Knowledge Base Id for which to execute the ask.", required = true) @HeaderParam("Knowledge-Base-Id") @NotNull String knowledgeBaseId, + @Parameter(description = "The Knowledge Base Id for which to execute the ask.", required = true) @HeaderParam("Knowledge-Base-Id") @NotNull String knowledgeBaseId, @Suspended final AsyncResponse asyncResponse, @Context SecurityContext securityContext) throws NotFoundException, IOException { @@ -72,13 +71,15 @@ public void handleTimeout(AsyncResponse ar) { aBuilder = Response.status(Status.ACCEPTED); - String message = String.format("This is a heartbeat message that the server is still alive, please renew your long polling request within %d seconds.", RestKnowledgeBase.INACTIVITY_TIMEOUT_SECONDS); + String message = String.format( + "This is a heartbeat message that the server is still alive, please renew your long polling request within %d seconds.", + RestKnowledgeBase.INACTIVITY_TIMEOUT_SECONDS); if (!kbHasAnswerOrReactKnowledgeInteraction(kb)) { message += " Knowledge Base '" + kb.getKnowledgeBaseId().toString() + "' does not have any Answer or React Knowledge Interaction registered. Only those two types of Knowledge Interactions require the usage of this long polling method."; var response = new ResponseMessage(); response.setMessageType("info"); - response.setMessage(message); + response.setMessage(message); aBuilder.entity(response); } kb.resetAsyncResponse(); @@ -93,10 +94,9 @@ public void handleTimeout(AsyncResponse ar) { } else { var response = new ResponseMessage(); response.setMessageType("error"); - response.setMessage("Only one connection per Knowledge-Base-Id is allowed and we already have one."); - asyncResponse.resume(Response.status(Status.CONFLICT) - .entity(response) - .build()); + response.setMessage( + "Only one connection per Knowledge-Base-Id is allowed and we already have one."); + asyncResponse.resume(Response.status(Status.CONFLICT).entity(response).build()); return; } } else { @@ -104,18 +104,15 @@ public void handleTimeout(AsyncResponse ar) { this.manager.removeSuspendedKB(knowledgeBaseId); var response = new ResponseMessage(); response.setMessageType("error"); - response.setMessage("This knowledge base has been suspended due to inactivity. Please reregister the knowledge base and its knowledge interactions."); - asyncResponse.resume(Response.status(Status.NOT_FOUND).entity( - response) - .build()); + response.setMessage( + "This knowledge base has been suspended due to inactivity. Please reregister the knowledge base and its knowledge interactions."); + asyncResponse.resume(Response.status(Status.NOT_FOUND).entity(response).build()); return; } else { var response = new ResponseMessage(); response.setMessageType("error"); response.setMessage("A Knowledge Base for the given Knowledge-Base-Id cannot be found."); - asyncResponse.resume(Response.status(Status.NOT_FOUND).entity( - response) - .build()); + asyncResponse.resume(Response.status(Status.NOT_FOUND).entity(response).build()); return; } } @@ -123,8 +120,7 @@ public void handleTimeout(AsyncResponse ar) { var response = new ResponseMessage(); response.setMessageType("error"); response.setMessage("Smart Connector not found, because its ID must be a valid URI."); - asyncResponse.resume(Response.status(Status.BAD_REQUEST) - .entity(response).build()); + asyncResponse.resume(Response.status(Status.BAD_REQUEST).entity(response).build()); return; } } @@ -149,9 +145,9 @@ private boolean kbHasAnswerOrReactKnowledgeInteraction(RestKnowledgeBase kb) { @Consumes({ "application/json; charset=UTF-8" }) @Produces({ "application/json; charset=UTF-8", "text/plain; charset=UTF-8" }) public Response scHandlePost( - @ApiParam(value = "The Knowledge Base Id for which to execute the ask.", required = true) @HeaderParam("Knowledge-Base-Id") @NotNull String knowledgeBaseId, - @ApiParam(value = "The Post Knowledge Interaction Id to execute.", required = true) @HeaderParam("Knowledge-Interaction-Id") @NotNull String knowledgeInteractionId, - @ApiParam(value = "") @Valid @NotNull eu.knowledge.engine.rest.model.HandleResponse responseBody, + @Parameter(description = "The Knowledge Base Id for which to execute the ask.", required = true) @HeaderParam("Knowledge-Base-Id") @NotNull String knowledgeBaseId, + @Parameter(description = "The Post Knowledge Interaction Id to execute.", required = true) @HeaderParam("Knowledge-Interaction-Id") @NotNull String knowledgeInteractionId, + @Parameter(description = "") @Valid @NotNull eu.knowledge.engine.rest.model.HandleResponse responseBody, @Context SecurityContext securityContext) throws NotFoundException { LOG.info("scHandlePost() called with {}, {}", knowledgeBaseId, knowledgeInteractionId); @@ -160,10 +156,9 @@ public Response scHandlePost( if (knowledgeBaseId == null) { var response = new ResponseMessage(); response.setMessageType("error"); - response.setMessage("Smart Connector not found, because its ID must be a valid URI and not " + knowledgeBaseId); - return Response.status(Status.BAD_REQUEST) - .entity(response) - .build(); + response.setMessage( + "Smart Connector not found, because its ID must be a valid URI and not " + knowledgeBaseId); + return Response.status(Status.BAD_REQUEST).entity(response).build(); } try { @@ -171,10 +166,9 @@ public Response scHandlePost( } catch (URISyntaxException e) { var response = new ResponseMessage(); response.setMessageType("error"); - response.setMessage("Smart Connector not found, because its ID must be a valid URI and not " + knowledgeBaseId); - return Response.status(Status.BAD_REQUEST) - .entity(response) - .build(); + response.setMessage( + "Smart Connector not found, because its ID must be a valid URI and not " + knowledgeBaseId); + return Response.status(Status.BAD_REQUEST).entity(response).build(); } if (manager.hasKB(knowledgeBaseId)) { @@ -200,33 +194,29 @@ public Response scHandlePost( var response = new ResponseMessage(); response.setMessageType("error"); response.setMessage("Handle request id " + responseBody.getHandleRequestId() - + " not found. Are you sure it is still being processed?"); + + " not found. Are you sure it is still being processed?"); return Response.status(Status.NOT_FOUND).entity(response).build(); } } else { var response = new ResponseMessage(); response.setMessageType("error"); response.setMessage("Knowledge Interaction not found, because its ID must match an existing KI: " - + knowledgeInteractionId); - return Response.status(Status.BAD_REQUEST) - .entity(response) - .build(); + + knowledgeInteractionId); + return Response.status(Status.BAD_REQUEST).entity(response).build(); } } else { if (manager.hasSuspendedKB(knowledgeBaseId)) { manager.removeSuspendedKB(knowledgeBaseId); var response = new ResponseMessage(); response.setMessageType("error"); - response.setMessage("This knowledge base has been suspended due to inactivity. Please reregister the knowledge base and its knowledge interactions."); - return Response.status(Status.NOT_FOUND).entity( - response) - .build(); + response.setMessage( + "This knowledge base has been suspended due to inactivity. Please reregister the knowledge base and its knowledge interactions."); + return Response.status(Status.NOT_FOUND).entity(response).build(); } else { var response = new ResponseMessage(); response.setMessageType("error"); response.setMessage("A Knowledge Base for the given Knowledge-Base-Id cannot be found."); - return Response.status(Status.NOT_FOUND).entity(response) - .build(); + return Response.status(Status.NOT_FOUND).entity(response).build(); } } } diff --git a/smart-connector-rest-server/src/main/java/eu/knowledge/engine/rest/api/impl/RestKnowledgeBase.java b/smart-connector-rest-server/src/main/java/eu/knowledge/engine/rest/api/impl/RestKnowledgeBase.java index 1780cfb3d..942e854a9 100644 --- a/smart-connector-rest-server/src/main/java/eu/knowledge/engine/rest/api/impl/RestKnowledgeBase.java +++ b/smart-connector-rest-server/src/main/java/eu/knowledge/engine/rest/api/impl/RestKnowledgeBase.java @@ -21,8 +21,8 @@ import java.util.concurrent.atomic.AtomicInteger; import java.util.stream.Collectors; -import javax.ws.rs.container.AsyncResponse; -import javax.ws.rs.core.Response; +import jakarta.ws.rs.container.AsyncResponse; +import jakarta.ws.rs.core.Response; import org.apache.jena.rdf.model.Resource; import org.apache.jena.rdf.model.ResourceFactory; @@ -742,10 +742,12 @@ public void stop() { } private void cancelAndClearAllHandleRequests() { - List cancelledRequests = this.toBeProcessedHandleRequests.stream().map(HandleRequest::getHandleRequestId).toList(); - LOG.warn("KB with id " + this.knowledgeBaseId+ " has stopped. The following handle requests will be cancelled: "+cancelledRequests); + List cancelledRequests = this.toBeProcessedHandleRequests.stream() + .map(HandleRequest::getHandleRequestId).toList(); + LOG.warn("KB with id " + this.knowledgeBaseId + + " has stopped. The following handle requests will be cancelled: " + cancelledRequests); - String cancelMessage = "KB with id "+ this.knowledgeBaseId +" will no longer respond, because it stopped."; + String cancelMessage = "KB with id " + this.knowledgeBaseId + " will no longer respond, because it stopped."; this.toBeProcessedHandleRequests.forEach(hr -> { hr.getFuture().completeExceptionally(new CancellationException(cancelMessage)); }); diff --git a/smart-connector-rest-server/src/main/java/eu/knowledge/engine/rest/api/impl/SmartConnectorLeaseApiServiceImpl.java b/smart-connector-rest-server/src/main/java/eu/knowledge/engine/rest/api/impl/SmartConnectorLeaseApiServiceImpl.java index 4a27a1fb0..f321b6a5c 100644 --- a/smart-connector-rest-server/src/main/java/eu/knowledge/engine/rest/api/impl/SmartConnectorLeaseApiServiceImpl.java +++ b/smart-connector-rest-server/src/main/java/eu/knowledge/engine/rest/api/impl/SmartConnectorLeaseApiServiceImpl.java @@ -3,10 +3,10 @@ import java.net.URI; import java.net.URISyntaxException; -import javax.validation.constraints.NotNull; -import javax.ws.rs.core.Response; -import javax.ws.rs.core.SecurityContext; -import javax.ws.rs.core.Response.Status; +import jakarta.validation.constraints.NotNull; +import jakarta.ws.rs.core.Response; +import jakarta.ws.rs.core.SecurityContext; +import jakarta.ws.rs.core.Response.Status; import eu.knowledge.engine.rest.api.NotFoundException; import eu.knowledge.engine.rest.api.SmartConnectorLeaseApiService; @@ -32,8 +32,7 @@ public Response scLeaseRenewPut(@NotNull String knowledgeBaseId, SecurityContext var response = new ResponseMessage(); response.setMessageType("error"); response.setMessage("Knowledge base not found, because its knowledge base ID must be a valid URI."); - return Response.status(Status.BAD_REQUEST).entity(response) - .build(); + return Response.status(Status.BAD_REQUEST).entity(response).build(); } var restKb = manager.getKB(knowledgeBaseId); @@ -42,10 +41,9 @@ public Response scLeaseRenewPut(@NotNull String knowledgeBaseId, SecurityContext manager.removeSuspendedKB(knowledgeBaseId); var response = new ResponseMessage(); response.setMessageType("error"); - response.setMessage("This knowledge base has been suspended due to inactivity. Please reregister the knowledge base and its knowledge interactions."); - return Response.status(Status.NOT_FOUND).entity( - response) - .build(); + response.setMessage( + "This knowledge base has been suspended due to inactivity. Please reregister the knowledge base and its knowledge interactions."); + return Response.status(Status.NOT_FOUND).entity(response).build(); } else { var response = new ResponseMessage(); response.setMessageType("error"); @@ -53,11 +51,12 @@ public Response scLeaseRenewPut(@NotNull String knowledgeBaseId, SecurityContext return Response.status(Status.NOT_FOUND).entity(response).build(); } } - + if (restKb.getLease() == null) { var response = new ResponseMessage(); response.setMessageType("error"); - response.setMessage("Knowledge base found, but its lease could not be found. Knowledge bases without a lease do not have to be renewed."); + response.setMessage( + "Knowledge base found, but its lease could not be found. Knowledge bases without a lease do not have to be renewed."); return Response.status(Status.NOT_FOUND).entity(response).build(); } diff --git a/smart-connector-rest-server/src/main/java/eu/knowledge/engine/rest/api/impl/SmartConnectorLifeCycleApiServiceImpl.java b/smart-connector-rest-server/src/main/java/eu/knowledge/engine/rest/api/impl/SmartConnectorLifeCycleApiServiceImpl.java index ec2bb442d..da24fa829 100644 --- a/smart-connector-rest-server/src/main/java/eu/knowledge/engine/rest/api/impl/SmartConnectorLifeCycleApiServiceImpl.java +++ b/smart-connector-rest-server/src/main/java/eu/knowledge/engine/rest/api/impl/SmartConnectorLifeCycleApiServiceImpl.java @@ -2,31 +2,41 @@ import java.net.MalformedURLException; import java.net.URI; -import java.net.URL; import java.net.URISyntaxException; +import java.net.URL; import java.util.HashSet; import java.util.Set; -import javax.ws.rs.core.Context; -import javax.ws.rs.core.Response; -import javax.ws.rs.core.SecurityContext; -import javax.ws.rs.core.Response.Status; -import javax.ws.rs.*; -import javax.ws.rs.container.*; -import javax.validation.constraints.*; -import javax.validation.Valid; - -import io.swagger.annotations.ApiParam; - import org.apache.jena.irix.IRIException; import org.apache.jena.irix.IRIProvider; import org.apache.jena.irix.IRIProviderJenaIRI; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import eu.knowledge.engine.rest.api.NotFoundException; import eu.knowledge.engine.rest.model.ResponseMessage; import eu.knowledge.engine.rest.model.SmartConnector; -import eu.knowledge.engine.rest.api.NotFoundException; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.media.Content; +import io.swagger.v3.oas.annotations.media.Schema; +import io.swagger.v3.oas.annotations.responses.ApiResponse; +import io.swagger.v3.oas.annotations.responses.ApiResponses; +import jakarta.validation.Valid; +import jakarta.validation.constraints.NotNull; +import jakarta.ws.rs.Consumes; +import jakarta.ws.rs.DELETE; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.HeaderParam; +import jakarta.ws.rs.POST; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.Produces; +import jakarta.ws.rs.container.AsyncResponse; +import jakarta.ws.rs.container.Suspended; +import jakarta.ws.rs.core.Context; +import jakarta.ws.rs.core.Response; +import jakarta.ws.rs.core.Response.Status; +import jakarta.ws.rs.core.SecurityContext; @Path("/sc") public class SmartConnectorLifeCycleApiServiceImpl { @@ -39,14 +49,15 @@ public class SmartConnectorLifeCycleApiServiceImpl { @GET @Produces({ "application/json; charset=UTF-8" }) - @io.swagger.annotations.ApiOperation(value = "Either get all available Smart Connectors or a specific one if the Knowledge-Base-Id is provided.", notes = "", response = SmartConnector.class, responseContainer = "List", tags = { - "smart connector life cycle", }) - @io.swagger.annotations.ApiResponses(value = { - @io.swagger.annotations.ApiResponse(code = 200, message = "A list of Smart Connectors. It will have only a single element if the Knowledge-Base-Id was provided.", response = SmartConnector.class, responseContainer = "List"), - @io.swagger.annotations.ApiResponse(code = 404, message = "If there is no Smart Connector for the given Knowledge-Base-Id.", response = String.class), - @io.swagger.annotations.ApiResponse(code = 500, message = "If a problem occurred.", response = String.class) }) + @Operation(summary = "Either get all available Smart Connectors or a specific one if the Knowledge-Base-Id is provided.", description = "", tags = { + "smart connector life cycle" }) + @ApiResponses(value = { + @ApiResponse(responseCode = "200", description = "A list of Smart Connectors. It will have only a single element if the Knowledge-Base-Id was provided.", content = @Content(schema = @Schema(implementation = SmartConnector.class))), + @ApiResponse(responseCode = "404", description = "If there is no Smart Connector for the given Knowledge-Base-Id.", content = @Content(schema = @Schema(implementation = String.class))), + @ApiResponse(responseCode = "500", description = "If a problem occurred.", content = @Content(schema = @Schema(implementation = String.class))) }) + public void scGet( - @ApiParam(value = "The knowledge base id who's Smart Connector information you would like to have.") @HeaderParam("Knowledge-Base-Id") String knowledgeBaseId, + @Parameter(description = "The knowledge base id who's Smart Connector information you would like to have.") @HeaderParam("Knowledge-Base-Id") String knowledgeBaseId, @Suspended final AsyncResponse asyncResponse, @Context SecurityContext securityContext) throws NotFoundException { if (knowledgeBaseId == null) { @@ -59,8 +70,7 @@ public void scGet( var response = new ResponseMessage(); response.setMessageType("error"); response.setMessage("Knowledge base not found, because its ID must be a valid URI."); - asyncResponse.resume(Response.status(400).entity(response) - .build()); + asyncResponse.resume(Response.status(400).entity(response).build()); return; } if (this.manager.hasKB(knowledgeBaseId)) { @@ -81,12 +91,12 @@ public void scGet( @POST @Consumes({ "application/json; charset=UTF-8" }) @Produces({ "application/json; charset=UTF-8" }) - @io.swagger.annotations.ApiOperation(value = "Create a new Smart Connector for the given Knowledge Base.", notes = "", response = Void.class, tags = { + @Operation(summary = "Create a new Smart Connector for the given Knowledge Base.", description = "", tags = { "smart connector life cycle", }) - @io.swagger.annotations.ApiResponses(value = { - @io.swagger.annotations.ApiResponse(code = 200, message = "If the Smart Connector for the given Knowledge Base is successfully created.", response = Void.class), - @io.swagger.annotations.ApiResponse(code = 400, message = "If the creation of the Smart Connector for the given Knowledge Base failed.", response = String.class) }) - public void scPost(@ApiParam(value = "", required = true) @NotNull @Valid SmartConnector smartConnector, + @ApiResponses(value = { + @ApiResponse(responseCode = "200", description = "If the Smart Connector for the given Knowledge Base is successfully created.", content = @Content(schema = @Schema(implementation = Void.class))), + @ApiResponse(responseCode = "400", description = "If the creation of the Smart Connector for the given Knowledge Base failed.", content = @Content(schema = @Schema(implementation = String.class))) }) + public void scPost(@Parameter(description = "", required = true) @NotNull @Valid SmartConnector smartConnector, @Suspended final AsyncResponse asyncResponse, @Context SecurityContext securityContext) throws NotFoundException { if (smartConnector.getKnowledgeBaseId().isEmpty()) { @@ -105,7 +115,7 @@ public void scPost(@ApiParam(value = "", required = true) @NotNull @Valid SmartC response.setMessage("Knowledge base ID must be a valid URI."); asyncResponse.resume(Response.status(400).entity(response).build()); return; - } + } URI kbId; try { @@ -151,13 +161,13 @@ public void scPost(@ApiParam(value = "", required = true) @NotNull @Valid SmartC @DELETE @Produces({ "application/json; charset=UTF-8" }) - @io.swagger.annotations.ApiOperation(value = "Delete the Smart Connector belonging to the given Knowledge Base", notes = "", response = Void.class, tags = { + @Operation(summary = "Delete the Smart Connector belonging to the given Knowledge Base", description = "", tags = { "smart connector life cycle", }) - @io.swagger.annotations.ApiResponses(value = { - @io.swagger.annotations.ApiResponse(code = 200, message = "If the Smart Connector for the given Knowledge Base is successfully deleted.", response = Void.class), - @io.swagger.annotations.ApiResponse(code = 404, message = "If there is no Smart Connector for the given Knowledge-Base-Id.", response = String.class) }) + @ApiResponses(value = { + @ApiResponse(responseCode = "200", description = "If the Smart Connector for the given Knowledge Base is successfully deleted.", content = @Content(schema = @Schema(implementation = Void.class))), + @ApiResponse(responseCode = "404", description = "If there is no Smart Connector for the given Knowledge-Base-Id.", content = @Content(schema = @Schema(implementation = String.class))) }) public void scDelete( - @ApiParam(value = "The knowledge base id who's smart connector should be deleted.", required = true) @HeaderParam("Knowledge-Base-Id") String knowledgeBaseId, + @Parameter(description = "The knowledge base id who's smart connector should be deleted.", required = true) @HeaderParam("Knowledge-Base-Id") String knowledgeBaseId, @Suspended final AsyncResponse asyncResponse, @Context SecurityContext securityContext) throws NotFoundException { LOG.info("scDelete called: {}", knowledgeBaseId); @@ -186,7 +196,9 @@ public void scDelete( asyncResponse.resume(Response.ok().build()); return; } else { - LOG.warn("Deletion failed of smart connector with ID {} because it was already stopping. Returning 404.", knowledgeBaseId); + LOG.warn( + "Deletion failed of smart connector with ID {} because it was already stopping. Returning 404.", + knowledgeBaseId); var response = new ResponseMessage(); response.setMessageType("error"); response.setMessage("Deletion of knowledge base failed, because it was already being deleted."); @@ -197,8 +209,7 @@ public void scDelete( var response = new ResponseMessage(); response.setMessageType("error"); response.setMessage("Deletion of knowledge base failed, because it could not be found."); - asyncResponse.resume(Response.status(404).entity(response) - .build()); + asyncResponse.resume(Response.status(404).entity(response).build()); return; } } @@ -209,8 +220,7 @@ private eu.knowledge.engine.rest.model.SmartConnector[] convertToModel(Seteu.knowledge.engine knowledge-directory ${revision} - test + provided @@ -47,6 +47,12 @@ org.apache.jena apache-jena-libs pom + + + javax.annotation + javax.annotation-api + + @@ -63,37 +69,23 @@ - io.swagger - swagger-jersey2-jaxrs + io.swagger.core.v3 + swagger-jaxrs2-jakarta compile ${swagger-core-version} - - - - - - - - - - - javax.servlet - javax.servlet-api + io.swagger.core.v3 + swagger-jaxrs2-servlet-initializer-v2-jakarta + ${swagger-core-version} + + + jakarta.servlet + jakarta.servlet-api ${servlet-api-version} provided - - - - - - - - - - + com.fasterxml.jackson.datatype jackson-datatype-joda @@ -103,17 +95,18 @@ com.fasterxml.jackson.jaxrs jackson-jaxrs-json-provider ${jackson-version} + + + jakarta.xml.bind + jakarta.xml.bind-api + + com.fasterxml.jackson.core jackson-core ${jackson-version} - - com.fasterxml.jackson.core - jackson-databind - ${jackson-version} - com.fasterxml.jackson.core jackson-annotations @@ -125,6 +118,12 @@ ${jackson-version} + + org.eclipse.jetty @@ -175,11 +174,11 @@ - 9.4.51.v20230217 - 1.6.12 - 3.1.3 - 4.0.1 - 2.9.9 + 2.2.15 + 11.0.15 + 3.1.3 + 2.16.1 + 5.0.0 @@ -197,19 +196,25 @@ generate - eu.knowledge.engine.smartconnector.runtime.messaging.inter_ker - eu.knowledge.engine.smartconnector.runtime.messaging.inter_ker.api - eu.knowledge.engine.smartconnector.runtime.messaging.inter_ker.model - ${project.basedir}/src/main/resources/openapi-inter-ker.yaml + + eu.knowledge.engine.smartconnector.runtime.messaging.inter_ker + + eu.knowledge.engine.smartconnector.runtime.messaging.inter_ker.api + + eu.knowledge.engine.smartconnector.runtime.messaging.inter_ker.model + + ${project.basedir}/src/main/resources/openapi-inter-ker.yaml jaxrs-jersey true true - ${project.basedir}/src/main/resources/openapi_template/ + + ${project.basedir}/src/main/resources/openapi_template/ dummy true true java8 + jersey3 @@ -222,8 +227,10 @@ generate - eu.knowledge.engine.smartconnector.runtime.messaging.kd.model - ${project.basedir}/../knowledge-directory/src/main/resources/openapi-kd.yaml + + eu.knowledge.engine.smartconnector.runtime.messaging.kd.model + + ${project.basedir}/../knowledge-directory/src/main/resources/openapi-kd.yaml jaxrs-jersey false false @@ -232,6 +239,7 @@ true true java8 + jersey3 @@ -250,7 +258,8 @@ - ${project.basedir}/target/generated-sources/openapi/src/gen/java + + ${project.basedir}/target/generated-sources/openapi/src/gen/java diff --git a/smart-connector/src/main/java/eu/knowledge/engine/smartconnector/runtime/messaging/MessageDispatcher.java b/smart-connector/src/main/java/eu/knowledge/engine/smartconnector/runtime/messaging/MessageDispatcher.java index 4bc0ae5fc..a0238a332 100644 --- a/smart-connector/src/main/java/eu/knowledge/engine/smartconnector/runtime/messaging/MessageDispatcher.java +++ b/smart-connector/src/main/java/eu/knowledge/engine/smartconnector/runtime/messaging/MessageDispatcher.java @@ -159,7 +159,8 @@ private void startHttpServer() throws Exception { ctx.setContextPath("/"); httpServer.setHandler(ctx); - ServletHolder serHol = ctx.addServlet(ServletContainer.class, "/*"); + ServletHolder serHol = new ServletHolder(ServletContainer.class); + ctx.addServlet(serHol, "/*"); serHol.setInitOrder(1); serHol.setInitParameter("jersey.config.server.provider.packages", "eu.knowledge.engine.smartconnector.runtime.messaging"); @@ -239,7 +240,8 @@ void deliverToLocalSmartConnector(KnowledgeMessage message) throws IOException { int numMessagesToRemove = this.undeliverableMail.size() - MAX_ENTRIES_UNDELIVERABLE_MAIL; for (int i = 0; i <= numMessagesToRemove; i++) { KnowledgeMessage removedMessage = this.undeliverableMail.remove(0); - LOG.warn("Too many undelivered messages. Removing the oldest message with ID " + removedMessage.getMessageId() + " to make space for a new message."); + LOG.warn("Too many undelivered messages. Removing the oldest message with ID " + + removedMessage.getMessageId() + " to make space for a new message."); } } this.undeliverableMail.add(message); diff --git a/smart-connector/src/main/java/eu/knowledge/engine/smartconnector/runtime/messaging/RemoteKerConnectionManager.java b/smart-connector/src/main/java/eu/knowledge/engine/smartconnector/runtime/messaging/RemoteKerConnectionManager.java index 9ef542878..e750927ee 100644 --- a/smart-connector/src/main/java/eu/knowledge/engine/smartconnector/runtime/messaging/RemoteKerConnectionManager.java +++ b/smart-connector/src/main/java/eu/knowledge/engine/smartconnector/runtime/messaging/RemoteKerConnectionManager.java @@ -12,8 +12,8 @@ import java.util.concurrent.TimeUnit; import java.util.stream.Collectors; -import javax.ws.rs.core.Response; -import javax.ws.rs.core.SecurityContext; +import jakarta.ws.rs.core.Response; +import jakarta.ws.rs.core.SecurityContext; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/smart-connector/src/main/java/eu/knowledge/engine/smartconnector/runtime/messaging/RemoteMessageReceiver.java b/smart-connector/src/main/java/eu/knowledge/engine/smartconnector/runtime/messaging/RemoteMessageReceiver.java index 1f7f54fd3..5a471f959 100644 --- a/smart-connector/src/main/java/eu/knowledge/engine/smartconnector/runtime/messaging/RemoteMessageReceiver.java +++ b/smart-connector/src/main/java/eu/knowledge/engine/smartconnector/runtime/messaging/RemoteMessageReceiver.java @@ -3,8 +3,8 @@ import java.io.IOException; import java.net.URISyntaxException; -import javax.ws.rs.core.Response; -import javax.ws.rs.core.SecurityContext; +import jakarta.ws.rs.core.Response; +import jakarta.ws.rs.core.SecurityContext; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/smart-connector/src/main/java/eu/knowledge/engine/smartconnector/runtime/messaging/inter_ker/api/factories/MessagingApiServiceFactory.java b/smart-connector/src/main/java/eu/knowledge/engine/smartconnector/runtime/messaging/inter_ker/api/factories/MessagingApiServiceFactory.java index a01edd6de..9ca9aa08b 100644 --- a/smart-connector/src/main/java/eu/knowledge/engine/smartconnector/runtime/messaging/inter_ker/api/factories/MessagingApiServiceFactory.java +++ b/smart-connector/src/main/java/eu/knowledge/engine/smartconnector/runtime/messaging/inter_ker/api/factories/MessagingApiServiceFactory.java @@ -2,7 +2,7 @@ import java.util.HashMap; -import javax.servlet.ServletConfig; +import jakarta.servlet.ServletConfig; import eu.knowledge.engine.smartconnector.runtime.messaging.inter_ker.api.MessagingApiService; diff --git a/smart-connector/src/main/java/eu/knowledge/engine/smartconnector/runtime/messaging/inter_ker/api/factories/SmartConnectorManagementApiServiceFactory.java b/smart-connector/src/main/java/eu/knowledge/engine/smartconnector/runtime/messaging/inter_ker/api/factories/SmartConnectorManagementApiServiceFactory.java index 8da12836d..963bdaca5 100644 --- a/smart-connector/src/main/java/eu/knowledge/engine/smartconnector/runtime/messaging/inter_ker/api/factories/SmartConnectorManagementApiServiceFactory.java +++ b/smart-connector/src/main/java/eu/knowledge/engine/smartconnector/runtime/messaging/inter_ker/api/factories/SmartConnectorManagementApiServiceFactory.java @@ -2,7 +2,7 @@ import java.util.HashMap; -import javax.servlet.ServletConfig; +import jakarta.servlet.ServletConfig; import eu.knowledge.engine.smartconnector.runtime.messaging.inter_ker.api.SmartConnectorManagementApiService; diff --git a/smart-connector/src/test/java/eu/knowledge/engine/smartconnector/api/TimeOntologyTest.java b/smart-connector/src/test/java/eu/knowledge/engine/smartconnector/api/TimeOntologyTest.java index b8865abdf..6b0989302 100644 --- a/smart-connector/src/test/java/eu/knowledge/engine/smartconnector/api/TimeOntologyTest.java +++ b/smart-connector/src/test/java/eu/knowledge/engine/smartconnector/api/TimeOntologyTest.java @@ -5,7 +5,7 @@ import java.util.UUID; import java.util.concurrent.ExecutionException; -import javax.xml.bind.DatatypeConverter; +import jakarta.xml.bind.DatatypeConverter; import org.apache.jena.shared.PrefixMapping; import org.apache.jena.sparql.graph.PrefixMappingMem;