You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@isis.apache.org by ah...@apache.org on 2020/01/28 06:17:17 UTC

[isis] 01/02: ISIS-2158: make the generated swagger-spec context-path aware

This is an automated email from the ASF dual-hosted git repository.

ahuber pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/isis.git

commit 2680f78535ed381b178ba28ae9377eb5282b5194
Author: Andi Huber <ah...@apache.org>
AuthorDate: Tue Jan 28 07:13:21 2020 +0100

    ISIS-2158: make the generated swagger-spec context-path aware
---
 .../rendering/service/swagger/SwaggerServiceDefault.java | 16 ++++++++++++----
 .../viewer/src/main/resources/swagger-ui/index.thtml     |  1 +
 2 files changed, 13 insertions(+), 4 deletions(-)

diff --git a/viewers/restfulobjects/rendering/src/main/java/org/apache/isis/viewer/restfulobjects/rendering/service/swagger/SwaggerServiceDefault.java b/viewers/restfulobjects/rendering/src/main/java/org/apache/isis/viewer/restfulobjects/rendering/service/swagger/SwaggerServiceDefault.java
index 4ae749a..0fa6739 100644
--- a/viewers/restfulobjects/rendering/src/main/java/org/apache/isis/viewer/restfulobjects/rendering/service/swagger/SwaggerServiceDefault.java
+++ b/viewers/restfulobjects/rendering/src/main/java/org/apache/isis/viewer/restfulobjects/rendering/service/swagger/SwaggerServiceDefault.java
@@ -28,9 +28,13 @@ import org.springframework.stereotype.Service;
 
 import org.apache.isis.applib.annotation.OrderPrecedence;
 import org.apache.isis.applib.services.swagger.SwaggerService;
+import org.apache.isis.core.commons.internal.base._Strings;
 import org.apache.isis.core.config.RestEasyConfiguration;
+import org.apache.isis.core.config.viewer.wicket.WebAppContextPath;
 import org.apache.isis.viewer.restfulobjects.rendering.service.swagger.internal.SwaggerSpecGenerator;
 
+import lombok.val;
+
 @Service
 @Named("isisMetaModel.swaggerServiceDefault")
 @Order(OrderPrecedence.MIDPOINT)
@@ -39,16 +43,20 @@ import org.apache.isis.viewer.restfulobjects.rendering.service.swagger.internal.
 public class SwaggerServiceDefault implements SwaggerService {
 
     private final SwaggerSpecGenerator swaggerSpecGenerator;
-    private final RestEasyConfiguration restEasyConfiguration;
     private final String basePath;
 
     @Inject
     public SwaggerServiceDefault(
             final SwaggerSpecGenerator swaggerSpecGenerator,
-            final RestEasyConfiguration restEasyConfiguration) {
+            final RestEasyConfiguration restEasyConfiguration,
+            final WebAppContextPath webAppContextPath) {
+        
         this.swaggerSpecGenerator = swaggerSpecGenerator;
-        this.restEasyConfiguration = restEasyConfiguration;
-        basePath = this.restEasyConfiguration.getJaxrs().getDefaultPath() + "/";
+        
+        val restfulPath = restEasyConfiguration.getJaxrs().getDefaultPath();
+        val restfulBase = webAppContextPath.prependContextPath(restfulPath);
+        
+        this.basePath = _Strings.suffix(restfulBase, "/");
     }
 
     @Override
diff --git a/viewers/restfulobjects/viewer/src/main/resources/swagger-ui/index.thtml b/viewers/restfulobjects/viewer/src/main/resources/swagger-ui/index.thtml
index b4ef86c..ea39b68 100644
--- a/viewers/restfulobjects/viewer/src/main/resources/swagger-ui/index.thtml
+++ b/viewers/restfulobjects/viewer/src/main/resources/swagger-ui/index.thtml
@@ -31,6 +31,7 @@
   </head>
 
   <body>
+  	<!-- template variables are filled in by the TemplateResourceServlet -->
   
     <div id="swagger-ui"></div>