[
https://issues.apache.org/jira/browse/AMBARI-20436?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16021058#comment-16021058
]
Hudson commented on AMBARI-20436:
---------------------------------
SUCCESS: Integrated in Jenkins build Ambari-trunk-Commit #7522 (See
[https://builds.apache.org/job/Ambari-trunk-Commit/7522/])
AMBARI-20436. Create a prototype of ambari-server swagger integration. (jaimin:
[http://git-wip-us.apache.org/repos/asf?p=ambari.git&a=commit&h=fb86fb3bafa1479651836db3197f1b2023b08a2f])
* (add) ambari-web/api-docs/fonts/droid-sans-v6-latin-700.eot
* (add)
ambari-server/src/main/java/org/apache/ambari/server/controller/ActiveWidgetLayoutRequest.java
* (add) ambari-web/api-docs/lib/handlebars-2.0.0.js
* (edit)
ambari-server/src/main/java/org/apache/ambari/server/controller/internal/UserAuthorizationResourceProvider.java
* (add)
ambari-server/src/main/java/org/apache/ambari/server/api/services/groups/GroupPrivilegeService.java
* (delete)
ambari-server/src/main/java/org/apache/ambari/server/api/services/GroupService.java
* (add) ambari-web/api-docs/lib/backbone-min.js
* (delete)
ambari-server/src/main/java/org/apache/ambari/server/api/services/MemberService.java
* (add)
ambari-server/src/main/java/org/apache/ambari/server/controller/ViewPrivilegeResponse.java
* (add) ambari-web/api-docs/o2c.html
* (add) ambari-web/api-docs/images/pet_store_api.png
* (add) ambari-web/api-docs/images/logo_small.png
* (add)
ambari-server/src/main/java/org/apache/ambari/server/controller/ViewPermissionResponse.java
* (edit)
ambari-server/src/main/java/org/apache/ambari/server/controller/UserRequest.java
* (add)
ambari-server/src/main/java/org/apache/ambari/server/api/services/users/ActiveWidgetLayoutService.java
* (add) ambari-server/docs/api/asciidoc/definitions.adoc
* (delete)
ambari-server/src/main/java/org/apache/ambari/server/api/services/ViewDataMigrationService.java
* (add)
ambari-server/src/test/java/org/apache/ambari/server/api/services/views/ViewExternalSubResourceServiceTest.java
* (add) ambari-web/api-docs/images/senodio.png
* (add)
ambari-server/src/main/java/org/apache/ambari/server/api/services/groups/GroupService.java
* (add) ambari-web/api-docs/fonts/droid-sans-v6-latin-700.svg
* (add) ambari-web/api-docs/images/Swagger_explorer_min.png
* (add) ambari-web/api-docs/lib/underscore-min.map
* (add)
ambari-server/src/main/java/org/apache/ambari/server/api/services/views/ViewPrivilegeService.java
* (edit) ambari-web/pom.xml
* (edit)
ambari-server/src/main/java/org/apache/ambari/server/controller/MemberRequest.java
* (delete)
ambari-server/src/test/java/org/apache/ambari/server/api/services/ViewExternalSubResourceServiceTest.java
* (delete)
ambari-server/src/main/java/org/apache/ambari/server/api/services/ViewSubResourceService.java
* (add) ambari-web/api-docs/lib/jquery.wiggle.min.js
* (add) ambari-web/api-docs/fonts/droid-sans-v6-latin-700.woff
* (add) ambari-web/api-docs/lib/jquery.slideto.min.js
* (add)
ambari-server/src/main/java/org/apache/ambari/server/controller/ApiModel.java
* (add) ambari-server/docs/api/asciidoc/paths.adoc
* (add)
ambari-server/src/main/java/org/apache/ambari/server/controller/ViewPrivilegeRequest.java
* (add)
ambari-server/src/main/java/org/apache/ambari/server/api/services/views/ViewPermissionService.java
* (add)
ambari-server/src/main/java/org/apache/ambari/server/controller/ViewVersionResponse.java
* (edit)
ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ViewPermissionResourceProvider.java
* (edit)
ambari-server/src/main/java/org/apache/ambari/server/orm/entities/PrincipalTypeEntity.java
* (add)
ambari-server/src/test/java/org/apache/ambari/server/api/services/views/ViewDataMigrationServiceTest.java
* (edit)
ambari-server/src/main/java/org/apache/ambari/server/controller/GroupResponse.java
* (edit)
ambari-server/src/test/java/org/apache/ambari/server/controller/internal/GroupPrivilegeResourceProviderTest.java
* (add) ambari-web/api-docs/lib/jquery.ba-bbq.min.js
* (delete)
ambari-server/src/main/java/org/apache/ambari/server/api/services/ViewVersionService.java
* (add) ambari-web/api-docs/css/standalone.css
* (delete)
ambari-server/src/test/java/org/apache/ambari/server/api/services/ViewDataMigrationServiceTest.java
* (add)
ambari-server/src/main/java/org/apache/ambari/server/api/services/views/ViewSubResourceService.java
* (delete)
ambari-server/src/main/java/org/apache/ambari/server/api/services/GroupPrivilegeService.java
* (add)
ambari-server/src/main/java/org/apache/ambari/server/controller/ActiveWidgetLayoutResponse.java
* (edit)
ambari-server/src/test/java/org/apache/ambari/server/controller/internal/UserPrivilegeResourceProviderTest.java
* (edit) ambari-web/brunch-config.js
* (add)
ambari-server/src/main/java/org/apache/ambari/server/api/services/users/UserPrivilegeService.java
* (add)
ambari-server/src/main/java/org/apache/ambari/server/controller/ViewInstanceResponse.java
* (delete)
ambari-server/src/test/java/org/apache/ambari/server/api/services/GroupPrivilegeServiceTest.java
* (delete)
ambari-server/src/main/java/org/apache/ambari/server/api/services/UserAuthorizationService.java
* (add) ambari-web/api-docs/lib/jsoneditor.js
* (add) ambari-web/api-docs/fonts/droid-sans-v6-latin-regular.eot
* (add) ambari-server/docs/api/asciidoc/overview.adoc
* (add)
ambari-server/src/main/java/org/apache/ambari/server/api/services/groups/MemberService.java
* (add)
ambari-server/src/main/java/org/apache/ambari/server/api/services/views/ViewDataMigrationService.java
* (add) ambari-web/api-docs/fonts/droid-sans-v6-latin-regular.woff
* (delete)
ambari-server/src/main/java/org/apache/ambari/server/api/services/ActiveWidgetLayoutService.java
* (edit)
ambari-server/src/main/java/org/apache/ambari/server/controller/internal/GroupPrivilegeResourceProvider.java
* (add)
ambari-server/src/main/java/org/apache/ambari/server/api/services/users/UserAuthorizationService.java
* (edit)
ambari-server/src/main/java/org/apache/ambari/server/controller/GroupRequest.java
* (add) ambari-web/api-docs/css/screen.css
* (add) ambari-web/api-docs/swagger-ui.js
* (edit)
ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ActiveWidgetLayoutResourceProvider.java
* (add)
ambari-server/src/main/java/org/apache/ambari/server/api/services/views/ViewVersionService.java
* (add) ambari-web/api-docs/css/typography.css
* (add) ambari-web/api-docs/css/api-explorer.css
* (add) ambari-web/api-docs/fonts/droid-sans-v6-latin-700.woff2
* (add) ambari-web/api-docs/images/Swagger_explorer.png
* (delete)
ambari-server/src/main/java/org/apache/ambari/server/api/services/UserService.java
* (add)
ambari-server/src/main/java/org/apache/ambari/server/api/services/views/ViewInstanceService.java
* (delete)
ambari-server/src/main/java/org/apache/ambari/server/api/services/UserPrivilegeService.java
* (add) ambari-web/api-docs/fonts/droid-sans-v6-latin-regular.ttf
* (add) ambari-web/api-docs/images/favicon-32x32.png
* (delete)
ambari-server/src/main/java/org/apache/ambari/server/api/services/ViewInstanceService.java
* (add) ambari-web/api-docs/images/favicon.ico
* (delete)
ambari-server/src/main/java/org/apache/ambari/server/api/services/ViewPrivilegeService.java
* (add) ambari-web/api-docs/lib/underscore-min.js
* (add) ambari-web/api-docs/images/explorer_icons.png
* (delete)
ambari-server/src/test/java/org/apache/ambari/server/api/services/ViewPermissionServiceTest.java
* (add) ambari-web/api-docs/css/index.css
* (add)
ambari-server/src/main/java/org/apache/ambari/server/api/services/views/ViewExternalSubResourceService.java
* (delete)
ambari-server/src/test/java/org/apache/ambari/server/api/services/MemberServiceTest.java
* (delete)
ambari-server/src/test/java/org/apache/ambari/server/api/services/UserPrivilegeServiceTest.java
* (add) ambari-web/api-docs/lib/marked.js
* (add)
ambari-server/src/main/java/org/apache/ambari/server/controller/ViewInstanceRequest.java
* (add) ambari-web/api-docs/css/reset.css
* (edit)
ambari-server/src/main/java/org/apache/ambari/server/controller/MemberResponse.java
* (add) ambari-web/api-docs/images/wordnik_api.png
* (add)
ambari-server/src/main/java/org/apache/ambari/server/controller/PrivilegeResponse.java
* (delete)
ambari-server/src/test/java/org/apache/ambari/server/api/services/ActiveWidgetLayoutServiceTest.java
* (edit)
ambari-server/src/main/java/org/apache/ambari/server/security/authorization/User.java
* (add) ambari-web/api-docs/fonts/droid-sans-v6-latin-regular.woff2
* (add) ambari-web/api-docs/lib/bootstrap.min.js
* (delete)
ambari-server/src/main/java/org/apache/ambari/server/api/services/ViewExternalSubResourceService.java
* (edit) ambari-server/pom.xml
* (add) ambari-web/api-docs/fonts/droid-sans-v6-latin-regular.svg
* (add) ambari-web/api-docs/images/throbber.gif
* (delete)
ambari-server/src/main/java/org/apache/ambari/server/api/services/ViewPermissionService.java
* (edit)
ambari-server/src/test/java/org/apache/ambari/server/api/services/GroupServiceTest.java
* (add) ambari-web/api-docs/lib/highlight.7.3.pack.js
* (add)
ambari-server/src/main/java/org/apache/ambari/server/api/services/views/ViewService.java
* (edit) LICENSE.txt
* (edit)
ambari-server/src/main/java/org/apache/ambari/server/controller/internal/UserPrivilegeResourceProvider.java
* (delete)
ambari-server/src/main/java/org/apache/ambari/server/api/services/ViewService.java
* (add) ambari-web/api-docs/lib/swagger-oauth.js
* (add) ambari-web/api-docs/index.html
* (edit)
ambari-server/src/main/java/org/apache/ambari/server/controller/UserResponse.java
* (edit)
ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ViewVersionResourceProvider.java
* (add)
ambari-server/src/main/java/org/apache/ambari/server/controller/GroupPrivilegeResponse.java
* (edit)
ambari-server/src/main/java/org/apache/ambari/server/view/ViewRegistry.java
* (add) ambari-web/api-docs/images/favicon-16x16.png
* (add)
ambari-server/src/main/java/org/apache/ambari/server/controller/UserPrivilegeResponse.java
* (add) ambari-web/api-docs/fonts/droid-sans-v6-latin-700.ttf
* (add) ambari-web/api-docs/lib/jquery-1.8.0.min.js
* (add) ambari-web/api-docs/images/json_editor_integration.png
* (add) ambari-web/api-docs/swagger-ui.min.js
* (edit)
ambari-server/src/test/java/org/apache/ambari/server/api/services/ViewSubResourceServiceTest.java
* (add)
ambari-server/src/main/java/org/apache/ambari/server/controller/ViewResponse.java
* (add) ambari-web/api-docs/css/print.css
* (delete)
ambari-server/src/test/java/org/apache/ambari/server/api/services/UserAuthorizationServiceTest.java
* (add)
ambari-server/src/main/java/org/apache/ambari/server/api/services/users/UserService.java
* (add)
ambari-server/src/main/java/org/apache/ambari/server/controller/UserAuthorizationResponse.java
> Create a prototype of ambari-server swagger integration
> -------------------------------------------------------
>
> Key: AMBARI-20436
> URL: https://issues.apache.org/jira/browse/AMBARI-20436
> Project: Ambari
> Issue Type: Task
> Components: ambari-server, ambari-web
> Affects Versions: 3.0.0
> Reporter: Jaimin Jetly
> Assignee: Jaimin Jetly
> Fix For: 3.0.0
>
> Attachments: AMBARI-20436.2.patch, AMBARI-20436.patch
>
>
> As part of this task, following changes are done:
> # A separate branch is created for this work: ambari-rest-api-explorer
> # 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
> # 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
> # 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
> # 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 when customization done over
> swagger-ui will increase
> # 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
> # 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.
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)