This is an automated email from the ASF dual-hosted git repository. ilgrosso pushed a commit to branch 3_0_X in repository https://gitbox.apache.org/repos/asf/syncope.git
commit c5c1b12e55d88266b9e7a0a190348086ed5f267c Author: Francesco Chicchiriccò <[email protected]> AuthorDate: Sat Mar 9 08:44:13 2024 +0100 New Swagger UI version does not render some schemas (as ConnInstanceTO): revert --- .../syncope/common/rest/api/service/CommandService.java | 7 +++++++ .../syncope/core/rest/cxf/SyncopeOpenApiCustomizer.java | 15 +++++++-------- .../apache/syncope/core/logic/NetworkServiceLogic.java | 4 ++-- pom.xml | 2 +- 4 files changed, 17 insertions(+), 11 deletions(-) diff --git a/common/idrepo/rest-api/src/main/java/org/apache/syncope/common/rest/api/service/CommandService.java b/common/idrepo/rest-api/src/main/java/org/apache/syncope/common/rest/api/service/CommandService.java index 6fbef8a7b7..9a69775d82 100644 --- a/common/idrepo/rest-api/src/main/java/org/apache/syncope/common/rest/api/service/CommandService.java +++ b/common/idrepo/rest-api/src/main/java/org/apache/syncope/common/rest/api/service/CommandService.java @@ -18,6 +18,9 @@ */ package org.apache.syncope.common.rest.api.service; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.enums.ParameterIn; +import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.security.SecurityRequirement; import io.swagger.v3.oas.annotations.security.SecurityRequirements; import io.swagger.v3.oas.annotations.tags.Tag; @@ -61,6 +64,8 @@ public interface CommandService extends JAXRSService { * @param key command key * @return the command for the given key, if found */ + @Parameter(name = "key", description = "Command's key", in = ParameterIn.PATH, schema = + @Schema(type = "string")) @GET @Path("{key}") @Produces({ MediaType.APPLICATION_JSON, RESTHeaders.APPLICATION_YAML, MediaType.APPLICATION_XML }) @@ -72,6 +77,8 @@ public interface CommandService extends JAXRSService { * @param command command to run, with arguments * @return command output */ + @Parameter(name = "key", description = "Command's key", in = ParameterIn.PATH, schema = + @Schema(type = "string")) @POST @Path("{key}") @Consumes({ MediaType.APPLICATION_JSON, RESTHeaders.APPLICATION_YAML, MediaType.APPLICATION_XML }) diff --git a/core/idrepo/rest-cxf/src/main/java/org/apache/syncope/core/rest/cxf/SyncopeOpenApiCustomizer.java b/core/idrepo/rest-cxf/src/main/java/org/apache/syncope/core/rest/cxf/SyncopeOpenApiCustomizer.java index 0d515e39af..5754289e91 100644 --- a/core/idrepo/rest-cxf/src/main/java/org/apache/syncope/core/rest/cxf/SyncopeOpenApiCustomizer.java +++ b/core/idrepo/rest-cxf/src/main/java/org/apache/syncope/core/rest/cxf/SyncopeOpenApiCustomizer.java @@ -118,17 +118,16 @@ public class SyncopeOpenApiCustomizer extends OpenApiCustomizer { protected void customizeResponses(final Operation operation, final OperationResourceInfo ori) { super.customizeResponses(operation, ori); - ApiResponses responses = operation.getResponses(); - if (responses == null) { - responses = new ApiResponses(); - operation.setResponses(responses); - } + ApiResponses responses = Optional.ofNullable(operation.getResponses()).orElseGet(() -> { + ApiResponses r = new ApiResponses(); + operation.setResponses(r); + return r; + }); - ApiResponse defaultResponse = responses.getDefault(); - if (defaultResponse != null) { + Optional.ofNullable(responses.get(ApiResponses.DEFAULT)).ifPresent(defaultResponse -> { responses.remove(ApiResponses.DEFAULT); responses.addApiResponse("200", defaultResponse); - } + }); Map<String, Header> headers = new LinkedHashMap<>(); headers.put( diff --git a/core/self-keymaster-starter/src/main/java/org/apache/syncope/core/logic/NetworkServiceLogic.java b/core/self-keymaster-starter/src/main/java/org/apache/syncope/core/logic/NetworkServiceLogic.java index 030107e661..a36a1349a1 100644 --- a/core/self-keymaster-starter/src/main/java/org/apache/syncope/core/logic/NetworkServiceLogic.java +++ b/core/self-keymaster-starter/src/main/java/org/apache/syncope/core/logic/NetworkServiceLogic.java @@ -21,13 +21,13 @@ package org.apache.syncope.core.logic; import java.lang.reflect.Method; import java.util.List; import java.util.stream.Collectors; -import org.apache.commons.lang3.RandomUtils; import org.apache.syncope.common.keymaster.client.api.model.NetworkService; import org.apache.syncope.common.lib.to.EntityTO; import org.apache.syncope.core.persistence.api.dao.NetworkServiceDAO; import org.apache.syncope.core.persistence.api.dao.NotFoundException; import org.apache.syncope.core.persistence.api.entity.NetworkServiceEntity; import org.apache.syncope.core.persistence.api.entity.SelfKeymasterEntityFactory; +import org.apache.syncope.core.spring.security.SecureRandomUtils; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.transaction.annotation.Transactional; @@ -69,7 +69,7 @@ public class NetworkServiceLogic extends AbstractTransactionalLogic<EntityTO> { return list.size() == 1 ? list.get(0) - : list.get(RandomUtils.nextInt(0, list.size())); + : list.get(SecureRandomUtils.generateRandomInt(0, list.size())); } @PreAuthorize("@environment.getProperty('keymaster.username') == authentication.name") diff --git a/pom.xml b/pom.xml index 1b58aace27..f344ef0720 100644 --- a/pom.xml +++ b/pom.xml @@ -452,7 +452,7 @@ under the License. <h2.version>2.2.224</h2.version> <swagger-core.version>2.2.20</swagger-core.version> - <swagger-ui.version>5.11.8</swagger-ui.version> + <swagger-ui.version>5.10.3</swagger-ui.version> <jquery-slimscroll.version>1.3.8</jquery-slimscroll.version> <jquery-cookie.version>1.4.1-1</jquery-cookie.version>
