[
https://issues.apache.org/jira/browse/AMBARI-10102?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14365302#comment-14365302
]
Andrii Tkach commented on AMBARI-10102:
---------------------------------------
committed to trunk.
> Create ember data model for widget
> ----------------------------------
>
> Key: AMBARI-10102
> URL: https://issues.apache.org/jira/browse/AMBARI-10102
> Project: Ambari
> Issue Type: Task
> Components: ambari-web
> Affects Versions: 2.1.0
> Reporter: Andrii Tkach
> Assignee: Andrii Tkach
> Fix For: 2.1.0
>
> Attachments: AMBARI-10102.patch
>
>
> As a part of this ticket, create an experimental flag under which poll for
> the widget information from the stack while landing on the service summary
> page for the first time. Since this is a static information, it is required
> to be polled just once. This needs to be mapped to a model as described below
> Example API for HDFS service:
> {code}
> {
> href:
> "http://c6401.ambari.apache.org:8080/api/v1/stacks/HDP/2.2/services/HDFS/artifacts/widget_layout",
> Artifacts: {
> artifact_name: "widget_order",
> service_name: "HDFS",
> stack_name: "HDP",
> stack_version: "2.2"
> },
> artifact_data: {
> name: "HDFS", // This is the serviceName in the ember-data model
> sections: [
> {
> name: "HDFS_SUMMARY" // This is the sectionName as described in
> the below ember-data model
> widgets: [
> {
> widget_name: “NAMENODE_HEAP”,
> widget_type: “GAUGE”,
> component_name: “NAMENODE”,
> display_name: "NameNode Heap",
> expression: [{
> template: “${jvmMemoryHeapUsed}/${jvmMemoryHeapMax}”
> }],
> properties: {
> “warning_threshold”: 0.5,
> “error_threshold”: 0.7
> }
> },
> {
> widget_name: "HDFS_BYTES_READ",
> widget_type: “HEATMAP”,
> display_name: "HDFS Bytes Read",
> description: "",
> component_name: “DATANODE”,
> expression: [
> {
> template: "${metrics.dfs.datanode.bytes_read}"
> }
> ]
> properties: {
> display_unit: "MB",
> max_limit: "1024"
> }
> }
> ]
> }
> ]
> },
>
> ]
> }
> ]
> }
> }
> {code}
> {code}
> App.Widget = DS.Model.extend({
> widgetName: DS.attr('string'),
> defaultOrder: "" // This field is not derived from API but needs to be
> filled in the mapper on the client side
> widgetType: DS.attr('string'),
> displayName: DS.attr('string'),
> serviceName: DS.attr('string'),
> componentName: DS.attr('string'),
> timeCreated: DS.attr('number'),
> sectionName: DS.attr('string'),
> author: DS.attr('string'),
> properties: DS.attr('object'),
> expression: DS.attr('array')
> });
> {code}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)