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>

Reply via email to