> On March 15, 2017, 8:31 p.m., Oliver Szabo wrote:
> > ambari-web/api-docs/index.html
> > Lines 1 (patched)
> > <https://reviews.apache.org/r/57582/diff/2/?file=1665007#file1665007line1>
> >
> >     Instead of storing all of html + css files from swagger in the source 
> > code, I think its better idea to use swagger ui webjar: 
> >     
> >     https://mvnrepository.com/artifact/org.webjars/swagger-ui (i think the 
> > exact swagger-ui version is not there that you used, but newer one can work)
> >     
> >     I used that for Log Search. (you can unpack that during the build or 
> > use resource files from the jar somehow else)
> >     
> >     If you will need any custom files you can override those files during 
> > the build. In Log Search i needed a specific index.html which supports 
> > basic authentication instead of api key, so i changed the index.html 
> > (https://github.com/apache/ambari/blob/trunk/ambari-logsearch/ambari-logsearch-portal/src/main/resources/swagger/swagger.html),
> >  but for every other file is used from the webjar, so i did not need to 
> > store swagger html+css in the source code.
> 
> Oliver Szabo wrote:
>     additon: you can drop my issue, if for using the modified swagger-ui, its 
> not enough just include the some new files (extra css files etc.) from 
> https://github.com/jensoleg/swagger-ui

Since ambari-web using custom look on top of swagger-ui, ambari-web will need 
to maintain it's override of html+css file. 
But swagger-ui JS code is something we want to use from 
https://www.npmjs.com/package/swagger-ui. There is an existing task 
(https://issues.apache.org/jira/browse/AMBARI-20508) to do analysis on how much 
of the code we can use from the vendor library instead of maintaining all in 
ambari-web source code.


- Jaimin


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/57582/#review169051
-----------------------------------------------------------


On March 20, 2017, 6:20 p.m., Jaimin Jetly wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/57582/
> -----------------------------------------------------------
> 
> (Updated March 20, 2017, 6:20 p.m.)
> 
> 
> Review request for Ambari, Jonathan Hurley, Jayush Luniya, Nate Cole, Oliver 
> Szabo, Robert Nettleton, Sumit Mohanty, Sid Wagle, and Yusaku Sako.
> 
> 
> Bugs: AMBARI-20436
>     https://issues.apache.org/jira/browse/AMBARI-20436
> 
> 
> Repository: ambari
> 
> 
> Description
> -------
> 
> A separate branch is created for this work: ambari-rest-api-explorer
> 
> ## As part of this task, following changes are done:
> 1. Users, Groups and Views API are integrated with swagger and exposed from 
> ambari rest api explorer ui (swagger ui) on a deployed cluster at path: 
> http://c6404.ambari.apache.org:8080/api-docs
> 2. swagger-maven-plugin is used to generate swagger.json file on compile 
> time. This file is published in web resources directory. Note that this file 
> is generated build time and will be available on deployed ambari-server host 
> at web resources location but it is not yet decided to be committed and 
> maintained in Ambari source code
> 3. swagger2markup-maven-plugin is used to generate asciidoc from swagger.json 
> file (that can be shown as markdown in github). More information about this 
> format an be found at http://asciidoc.org/ and http://asciidoctor.org/. This 
> generates files in docs/api/asciidoc/** location at build time. This 
> directory is currently intended to be committed and maintained in ambari 
> source code
> 4. swagger-ui (version: v2.1.1-M2) compiled code with the different css skin 
> (adopted from [link|https://github.com/jensoleg/swagger-ui]) is committed to 
> ambari-web/api-docs directory with certain modification to make it work with 
> ambari api. Further ui polishing will be done in subsequent tasks. Also there 
> is a strong possibility to maintain the fork code of swagger-ui and compile 
> (minify and concanate) it during ambari compile time rather than directly 
> using swagger-ui dist files. Doing so will help developers when customization 
> done over swagger-ui will increase
> 5. swagger-annotation expects application to define schema of request body 
> and response for each endpoint to be encapsulated in a class. While Ambari 
> follows this pattern for some of the endpoint, there are many others which 
> does not do so. For The ones which do not does so, new request and response 
> classes were defined. Going forward at the completion of this epic, either 
> each resource type or each resource provider should be coupled with a 
> resource response class and a resource request class. As part of this patch, 
> each resourceprovider worked upon introduces a new method "getResponse". At 
> completion of this epic ResourceProvider interface should also declare 
> methods like "getResponse" and "getRequest" that returns response schema and 
> request schema instances for the resource API endpoints
> 6. Currently it seems that swagger has a limitation in supporting  
> "subresource locator methods". This issue is been reported to swagger 
> community and is being tracked at 
> [link|https://github.com/swagger-api/swagger-core/issues/2136]. As a result 
> of which currently as a temporary workaround, all subresources are converted 
> to root resources. Also all root resources on similar path are moved under 
> same subpackages (like userApi, groupApi and viewApi).
> 
> 
> Diffs
> -----
> 
>   LICENSE.txt f05016f 
>   ambari-server/docs/api/asciidoc/definitions.adoc PRE-CREATION 
>   ambari-server/docs/api/asciidoc/overview.adoc PRE-CREATION 
>   ambari-server/docs/api/asciidoc/paths.adoc PRE-CREATION 
>   ambari-server/pom.xml f0c73e4 
>   
> ambari-server/src/main/java/org/apache/ambari/server/api/services/ActiveWidgetLayoutService.java
>  40cd6e0 
>   
> ambari-server/src/main/java/org/apache/ambari/server/api/services/GroupPrivilegeService.java
>  9c1f1a3 
>   
> ambari-server/src/main/java/org/apache/ambari/server/api/services/GroupService.java
>  8ec0097 
>   
> ambari-server/src/main/java/org/apache/ambari/server/api/services/MemberService.java
>  28e53e6 
>   
> ambari-server/src/main/java/org/apache/ambari/server/api/services/UserAuthorizationService.java
>  26a7107 
>   
> ambari-server/src/main/java/org/apache/ambari/server/api/services/UserPrivilegeService.java
>  f9c95e7 
>   
> ambari-server/src/main/java/org/apache/ambari/server/api/services/UserService.java
>  31f3a8c 
>   
> ambari-server/src/main/java/org/apache/ambari/server/api/services/ViewDataMigrationService.java
>  2a9aa64 
>   
> ambari-server/src/main/java/org/apache/ambari/server/api/services/ViewExternalSubResourceService.java
>  66ccae7 
>   
> ambari-server/src/main/java/org/apache/ambari/server/api/services/ViewInstanceService.java
>  53d4918 
>   
> ambari-server/src/main/java/org/apache/ambari/server/api/services/ViewPermissionService.java
>  8f7f4ef 
>   
> ambari-server/src/main/java/org/apache/ambari/server/api/services/ViewPrivilegeService.java
>  7393745 
>   
> ambari-server/src/main/java/org/apache/ambari/server/api/services/ViewService.java
>  17a9f34 
>   
> ambari-server/src/main/java/org/apache/ambari/server/api/services/ViewSubResourceService.java
>  76d28fe 
>   
> ambari-server/src/main/java/org/apache/ambari/server/api/services/ViewVersionService.java
>  3554da1 
>   
> ambari-server/src/main/java/org/apache/ambari/server/api/services/groups/GroupPrivilegeService.java
>  PRE-CREATION 
>   
> ambari-server/src/main/java/org/apache/ambari/server/api/services/users/ActiveWidgetLayoutService.java
>  PRE-CREATION 
>   
> ambari-server/src/main/java/org/apache/ambari/server/api/services/users/UserAuthorizationService.java
>  PRE-CREATION 
>   
> ambari-server/src/main/java/org/apache/ambari/server/api/services/users/UserPrivilegeService.java
>  PRE-CREATION 
>   
> ambari-server/src/main/java/org/apache/ambari/server/api/services/views/ViewPermissionService.java
>  PRE-CREATION 
>   
> ambari-server/src/main/java/org/apache/ambari/server/api/services/views/ViewPrivilegeService.java
>  PRE-CREATION 
>   
> ambari-server/src/main/java/org/apache/ambari/server/controller/ActiveWidgetLayoutRequest.java
>  PRE-CREATION 
>   
> ambari-server/src/main/java/org/apache/ambari/server/controller/ActiveWidgetLayoutResponse.java
>  PRE-CREATION 
>   
> ambari-server/src/main/java/org/apache/ambari/server/controller/ApiModel.java 
> PRE-CREATION 
>   
> ambari-server/src/main/java/org/apache/ambari/server/controller/GroupPrivilegeResponse.java
>  PRE-CREATION 
>   
> ambari-server/src/main/java/org/apache/ambari/server/controller/GroupRequest.java
>  1bc18cc 
>   
> ambari-server/src/main/java/org/apache/ambari/server/controller/GroupResponse.java
>  0baccc7 
>   
> ambari-server/src/main/java/org/apache/ambari/server/controller/MemberRequest.java
>  0245f36 
>   
> ambari-server/src/main/java/org/apache/ambari/server/controller/MemberResponse.java
>  3dc6558 
>   
> ambari-server/src/main/java/org/apache/ambari/server/controller/PrivilegeResponse.java
>  PRE-CREATION 
>   
> ambari-server/src/main/java/org/apache/ambari/server/controller/UserAuthorizationResponse.java
>  PRE-CREATION 
>   
> ambari-server/src/main/java/org/apache/ambari/server/controller/UserPrivilegeResponse.java
>  PRE-CREATION 
>   
> ambari-server/src/main/java/org/apache/ambari/server/controller/UserRequest.java
>  282131a 
>   
> ambari-server/src/main/java/org/apache/ambari/server/controller/UserResponse.java
>  b90f864 
>   
> ambari-server/src/main/java/org/apache/ambari/server/controller/ViewInstanceRequest.java
>  PRE-CREATION 
>   
> ambari-server/src/main/java/org/apache/ambari/server/controller/ViewInstanceResponse.java
>  PRE-CREATION 
>   
> ambari-server/src/main/java/org/apache/ambari/server/controller/ViewPermissionResponse.java
>  PRE-CREATION 
>   
> ambari-server/src/main/java/org/apache/ambari/server/controller/ViewPrivilegeRequest.java
>  PRE-CREATION 
>   
> ambari-server/src/main/java/org/apache/ambari/server/controller/ViewPrivilegeResponse.java
>  PRE-CREATION 
>   
> ambari-server/src/main/java/org/apache/ambari/server/controller/ViewResponse.java
>  PRE-CREATION 
>   
> ambari-server/src/main/java/org/apache/ambari/server/controller/ViewVersionResponse.java
>  PRE-CREATION 
>   
> ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ActiveWidgetLayoutResourceProvider.java
>  d9a7997 
>   
> ambari-server/src/main/java/org/apache/ambari/server/controller/internal/GroupPrivilegeResourceProvider.java
>  bf63794 
>   
> ambari-server/src/main/java/org/apache/ambari/server/controller/internal/UserAuthorizationResourceProvider.java
>  8193a49 
>   
> ambari-server/src/main/java/org/apache/ambari/server/controller/internal/UserPrivilegeResourceProvider.java
>  b9b756b 
>   
> ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ViewPermissionResourceProvider.java
>  4f0a6f0 
>   
> ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ViewVersionResourceProvider.java
>  4055f1a 
>   
> ambari-server/src/main/java/org/apache/ambari/server/orm/entities/PrincipalTypeEntity.java
>  e95223a 
>   
> ambari-server/src/main/java/org/apache/ambari/server/security/authorization/User.java
>  18509d3 
>   ambari-server/src/main/java/org/apache/ambari/server/view/ViewRegistry.java 
> 81c4734 
>   
> ambari-server/src/test/java/org/apache/ambari/server/api/services/ActiveWidgetLayoutServiceTest.java
>  adae956 
>   
> ambari-server/src/test/java/org/apache/ambari/server/api/services/GroupPrivilegeServiceTest.java
>  995dfaf 
>   
> ambari-server/src/test/java/org/apache/ambari/server/api/services/GroupServiceTest.java
>  b171ceb 
>   
> ambari-server/src/test/java/org/apache/ambari/server/api/services/MemberServiceTest.java
>  1e0137e 
>   
> ambari-server/src/test/java/org/apache/ambari/server/api/services/UserAuthorizationServiceTest.java
>  8a2f799 
>   
> ambari-server/src/test/java/org/apache/ambari/server/api/services/UserPrivilegeServiceTest.java
>  7b0e06d 
>   
> ambari-server/src/test/java/org/apache/ambari/server/api/services/ViewDataMigrationServiceTest.java
>  e1eb0de 
>   
> ambari-server/src/test/java/org/apache/ambari/server/api/services/ViewExternalSubResourceServiceTest.java
>  155f91e 
>   
> ambari-server/src/test/java/org/apache/ambari/server/api/services/ViewPermissionServiceTest.java
>  7f58fb2 
>   
> ambari-server/src/test/java/org/apache/ambari/server/api/services/ViewSubResourceServiceTest.java
>  9499466 
>   
> ambari-server/src/test/java/org/apache/ambari/server/controller/internal/GroupPrivilegeResourceProviderTest.java
>  ebe92e4 
>   
> ambari-server/src/test/java/org/apache/ambari/server/controller/internal/UserPrivilegeResourceProviderTest.java
>  5092db5 
>   ambari-web/api-docs/css/api-explorer.css PRE-CREATION 
>   ambari-web/api-docs/css/index.css PRE-CREATION 
>   ambari-web/api-docs/css/print.css PRE-CREATION 
>   ambari-web/api-docs/css/reset.css PRE-CREATION 
>   ambari-web/api-docs/css/screen.css PRE-CREATION 
>   ambari-web/api-docs/css/standalone.css PRE-CREATION 
>   ambari-web/api-docs/css/typography.css PRE-CREATION 
>   ambari-web/api-docs/fonts/droid-sans-v6-latin-700.eot PRE-CREATION 
>   ambari-web/api-docs/fonts/droid-sans-v6-latin-700.svg PRE-CREATION 
>   ambari-web/api-docs/fonts/droid-sans-v6-latin-700.ttf PRE-CREATION 
>   ambari-web/api-docs/fonts/droid-sans-v6-latin-700.woff PRE-CREATION 
>   ambari-web/api-docs/fonts/droid-sans-v6-latin-700.woff2 PRE-CREATION 
>   ambari-web/api-docs/fonts/droid-sans-v6-latin-regular.eot PRE-CREATION 
>   ambari-web/api-docs/fonts/droid-sans-v6-latin-regular.svg PRE-CREATION 
>   ambari-web/api-docs/fonts/droid-sans-v6-latin-regular.ttf PRE-CREATION 
>   ambari-web/api-docs/fonts/droid-sans-v6-latin-regular.woff PRE-CREATION 
>   ambari-web/api-docs/fonts/droid-sans-v6-latin-regular.woff2 PRE-CREATION 
>   ambari-web/api-docs/images/Swagger_explorer.png PRE-CREATION 
>   ambari-web/api-docs/images/Swagger_explorer_min.png PRE-CREATION 
>   ambari-web/api-docs/images/explorer_icons.png PRE-CREATION 
>   ambari-web/api-docs/images/favicon-16x16.png PRE-CREATION 
>   ambari-web/api-docs/images/favicon-32x32.png PRE-CREATION 
>   ambari-web/api-docs/images/favicon.ico PRE-CREATION 
>   ambari-web/api-docs/images/json_editor_integration.png PRE-CREATION 
>   ambari-web/api-docs/images/logo_small.png PRE-CREATION 
>   ambari-web/api-docs/images/pet_store_api.png PRE-CREATION 
>   ambari-web/api-docs/images/senodio.png PRE-CREATION 
>   ambari-web/api-docs/images/throbber.gif PRE-CREATION 
>   ambari-web/api-docs/images/wordnik_api.png PRE-CREATION 
>   ambari-web/api-docs/index.html PRE-CREATION 
>   ambari-web/api-docs/lib/backbone-min.js PRE-CREATION 
>   ambari-web/api-docs/lib/bootstrap.min.js PRE-CREATION 
>   ambari-web/api-docs/lib/handlebars-2.0.0.js PRE-CREATION 
>   ambari-web/api-docs/lib/highlight.7.3.pack.js PRE-CREATION 
>   ambari-web/api-docs/lib/jquery-1.8.0.min.js PRE-CREATION 
>   ambari-web/api-docs/lib/jquery.ba-bbq.min.js PRE-CREATION 
>   ambari-web/api-docs/lib/jquery.slideto.min.js PRE-CREATION 
>   ambari-web/api-docs/lib/jquery.wiggle.min.js PRE-CREATION 
>   ambari-web/api-docs/lib/jsoneditor.js PRE-CREATION 
>   ambari-web/api-docs/lib/marked.js PRE-CREATION 
>   ambari-web/api-docs/lib/swagger-oauth.js PRE-CREATION 
>   ambari-web/api-docs/lib/underscore-min.js PRE-CREATION 
>   ambari-web/api-docs/lib/underscore-min.map PRE-CREATION 
>   ambari-web/api-docs/o2c.html PRE-CREATION 
>   ambari-web/api-docs/swagger-ui.js PRE-CREATION 
>   ambari-web/api-docs/swagger-ui.min.js PRE-CREATION 
>   ambari-web/brunch-config.js 31eb1cb 
>   ambari-web/pom.xml 2d567cc 
> 
> 
> Diff: https://reviews.apache.org/r/57582/diff/3/
> 
> 
> Testing
> -------
> 
> Tested on dev environment for all integrated apis to be working from ui 
> interface
> Verified that Rat check, style check and existing ambari-server unit tests 
> are passing with the patch
> 
> 
> Thanks,
> 
> Jaimin Jetly
> 
>

Reply via email to