Repository: ambari
Updated Branches:
  refs/heads/trunk 8adb1b0bf -> d8bff0381


http://git-wip-us.apache.org/repos/asf/ambari/blob/d8bff038/ambari-server/src/main/resources/stacks/HDP/2.2/services/YARN/themes-mapred/theme.json
----------------------------------------------------------------------
diff --git 
a/ambari-server/src/main/resources/stacks/HDP/2.2/services/YARN/themes-mapred/theme.json
 
b/ambari-server/src/main/resources/stacks/HDP/2.2/services/YARN/themes-mapred/theme.json
index 97d05dc..c96d656 100644
--- 
a/ambari-server/src/main/resources/stacks/HDP/2.2/services/YARN/themes-mapred/theme.json
+++ 
b/ambari-server/src/main/resources/stacks/HDP/2.2/services/YARN/themes-mapred/theme.json
@@ -1,52 +1,50 @@
 {
-  "Theme": {
-    "name": "default",
-    "description": "Default theme for MAPREDUCE service",
-    "configuration": {
-      "layouts": [
-        {
-          "name": "default",
-          "tabs": [
-            {
-              "name": "settings",
-              "display-name": "Settings",
-              "layout": {
-                "tab-columns": "1",
-                "tab-rows": "1",
-                "sections": [
-                  {
-                    "name": "section-mr-scheduler",
-                    "display-name": "MR Scheduler Defaults",
-                    "row-index": "0",
-                    "column-index": "0",
-                    "row-span": "1",
-                    "column-span": "2",
-                    "section-columns": "2",
-                    "section-rows": "1",
-                    "subsections": [
-                      {
-                        "name": "subsection-mr-scheduler-col1",
-                        "row-index": "0",
-                        "column-index": "0",
-                        "row-span": "1",
-                        "column-span": "1"
-                      },
-                      {
-                        "name": "subsection-mr-scheduler-col2",
-                        "row-index": "0",
-                        "column-index": "1",
-                        "row-span": "1",
-                        "column-span": "1"
-                      }
-                    ]
-                  }
-                ]
-              }
+  "name": "default",
+  "description": "Default theme for MAPREDUCE service",
+  "configuration": {
+    "layouts": [
+      {
+        "name": "default",
+        "tabs": [
+          {
+            "name": "settings",
+            "display-name": "Settings",
+            "layout": {
+              "tab-columns": "1",
+              "tab-rows": "1",
+              "sections": [
+                {
+                  "name": "section-mr-scheduler",
+                  "display-name": "MR Scheduler Defaults",
+                  "row-index": "0",
+                  "column-index": "0",
+                  "row-span": "1",
+                  "column-span": "2",
+                  "section-columns": "2",
+                  "section-rows": "1",
+                  "subsections": [
+                    {
+                      "name": "subsection-mr-scheduler-col1",
+                      "row-index": "0",
+                      "column-index": "0",
+                      "row-span": "1",
+                      "column-span": "1"
+                    },
+                    {
+                      "name": "subsection-mr-scheduler-col2",
+                      "row-index": "0",
+                      "column-index": "1",
+                      "row-span": "1",
+                      "column-span": "1"
+                    }
+                  ]
+                }
+              ]
             }
-          ]
-        }
-      ]
-    },
+          }
+        ]
+      }
+    ],
     "placement": {
       "configuration-layout": "default",
       "configs": [
@@ -68,47 +66,47 @@
         }
       ]
     },
-    "widgets":[
+    "widgets": [
       {
-        "config":"mapred-site/mapreduce.map.memory.mb",
-        "widget":{
-          "type":"slider",
-          "units":[
+        "config": "mapred-site/mapreduce.map.memory.mb",
+        "widget": {
+          "type": "slider",
+          "units": [
             {
-              "unit-name":"GB"
+              "unit-name": "GB"
             }
           ]
         }
       },
       {
-        "config":"mapred-site/mapreduce.reduce.memory.mb",
-        "widget":{
-          "type":"slider",
-          "units":[
+        "config": "mapred-site/mapreduce.reduce.memory.mb",
+        "widget": {
+          "type": "slider",
+          "units": [
             {
-              "unit-name":"GB"
+              "unit-name": "GB"
             }
           ]
         }
       },
       {
-        "config":"mapred-site/yarn.app.mapreduce.am.resource.mb",
-        "widget":{
-          "type":"slider",
-          "units":[
+        "config": "mapred-site/yarn.app.mapreduce.am.resource.mb",
+        "widget": {
+          "type": "slider",
+          "units": [
             {
-              "unit-name":"GB"
+              "unit-name": "GB"
             }
           ]
         }
       },
       {
-        "config":"mapred-site/mapreduce.task.io.sort.mb",
-        "widget":{
-          "type":"slider",
-          "units":[
+        "config": "mapred-site/mapreduce.task.io.sort.mb",
+        "widget": {
+          "type": "slider",
+          "units": [
             {
-              "unit-name":"MB"
+              "unit-name": "MB"
             }
           ]
         }

http://git-wip-us.apache.org/repos/asf/ambari/blob/d8bff038/ambari-server/src/main/resources/stacks/HDP/2.2/services/YARN/themes/theme.json
----------------------------------------------------------------------
diff --git 
a/ambari-server/src/main/resources/stacks/HDP/2.2/services/YARN/themes/theme.json
 
b/ambari-server/src/main/resources/stacks/HDP/2.2/services/YARN/themes/theme.json
index ffe0996..5dbf19f 100644
--- 
a/ambari-server/src/main/resources/stacks/HDP/2.2/services/YARN/themes/theme.json
+++ 
b/ambari-server/src/main/resources/stacks/HDP/2.2/services/YARN/themes/theme.json
@@ -1,97 +1,95 @@
 {
-  "Theme": {
-    "name": "default",
-    "description": "Default theme for YARN service",
-    "configuration": {
-      "layouts": [
-        {
-          "name": "default",
-          "tabs": [
-            {
-              "name": "settings",
-              "display-name": "Settings",
-              "layout": {
-                "tab-columns": "3",
-                "tab-rows": "2",
-                "sections": [
-                  {
-                    "name": "section-nm-sizing",
-                    "display-name": "NodeManager Sizing",
-                    "row-index": "0",
-                    "column-index": "0",
-                    "row-span": "1",
-                    "column-span": "2",
-                    "section-columns": "2",
-                    "section-rows": "1",
-                    "subsections": [
-                      {
-                        "name": "subsection-nm-sizing-col1",
-                        "row-index": "0",
-                        "column-index": "0",
-                        "row-span": "1",
-                        "column-span": "1"
-                      },
-                      {
-                        "name": "subsection-nm-sizing-col2",
-                        "row-index": "0",
-                        "column-index": "1",
-                        "row-span": "1",
-                        "column-span": "1"
-                      }
-                    ]
-                  },
-                  {
-                    "name": "section-yarn-platform-features",
-                    "display-name": "YARN Platform Features",
-                    "row-index": "0",
-                    "column-index": "2",
-                    "row-span": "1",
-                    "column-span": "1",
-                    "section-columns": "1",
-                    "section-rows": "1",
-                    "subsections": [
-                      {
-                        "name": "subsection-yarn-platform-features-col1",
-                        "row-index": "0",
-                        "column-index": "0",
-                        "row-span": "1",
-                        "column-span": "1"
-                      }
-                    ]
-                  },
-                  {
-                    "name": "section-container-sizing",
-                    "display-name": "Container Sizing",
-                    "row-index": "1",
-                    "column-index": "0",
-                    "row-span": "1",
-                    "column-span": "2",
-                    "section-columns": "2",
-                    "section-rows": "1",
-                    "subsections": [
-                      {
-                        "name": "subsection-container-sizing-col1",
-                        "row-index": "0",
-                        "column-index": "0",
-                        "row-span": "1",
-                        "column-span": "1"
-                      },
-                      {
-                        "name": "subsection-container-sizing-col2",
-                        "row-index": "0",
-                        "column-index": "1",
-                        "row-span": "1",
-                        "column-span": "1"
-                      }
-                    ]
-                  }
-                ]
-              }
+  "name": "default",
+  "description": "Default theme for YARN service",
+  "configuration": {
+    "layouts": [
+      {
+        "name": "default",
+        "tabs": [
+          {
+            "name": "settings",
+            "display-name": "Settings",
+            "layout": {
+              "tab-columns": "3",
+              "tab-rows": "2",
+              "sections": [
+                {
+                  "name": "section-nm-sizing",
+                  "display-name": "NodeManager Sizing",
+                  "row-index": "0",
+                  "column-index": "0",
+                  "row-span": "1",
+                  "column-span": "2",
+                  "section-columns": "2",
+                  "section-rows": "1",
+                  "subsections": [
+                    {
+                      "name": "subsection-nm-sizing-col1",
+                      "row-index": "0",
+                      "column-index": "0",
+                      "row-span": "1",
+                      "column-span": "1"
+                    },
+                    {
+                      "name": "subsection-nm-sizing-col2",
+                      "row-index": "0",
+                      "column-index": "1",
+                      "row-span": "1",
+                      "column-span": "1"
+                    }
+                  ]
+                },
+                {
+                  "name": "section-yarn-platform-features",
+                  "display-name": "YARN Platform Features",
+                  "row-index": "0",
+                  "column-index": "2",
+                  "row-span": "1",
+                  "column-span": "1",
+                  "section-columns": "1",
+                  "section-rows": "1",
+                  "subsections": [
+                    {
+                      "name": "subsection-yarn-platform-features-col1",
+                      "row-index": "0",
+                      "column-index": "0",
+                      "row-span": "1",
+                      "column-span": "1"
+                    }
+                  ]
+                },
+                {
+                  "name": "section-container-sizing",
+                  "display-name": "Container Sizing",
+                  "row-index": "1",
+                  "column-index": "0",
+                  "row-span": "1",
+                  "column-span": "2",
+                  "section-columns": "2",
+                  "section-rows": "1",
+                  "subsections": [
+                    {
+                      "name": "subsection-container-sizing-col1",
+                      "row-index": "0",
+                      "column-index": "0",
+                      "row-span": "1",
+                      "column-span": "1"
+                    },
+                    {
+                      "name": "subsection-container-sizing-col2",
+                      "row-index": "0",
+                      "column-index": "1",
+                      "row-span": "1",
+                      "column-span": "1"
+                    }
+                  ]
+                }
+              ]
             }
-          ]
-        }
-      ]
-    },
+          }
+        ]
+      }
+    ],
     "placement": {
       "configuration-layout": "default",
       "configs": [
@@ -240,4 +238,4 @@
       }
     ]
   }
-}
\ No newline at end of file
+}

http://git-wip-us.apache.org/repos/asf/ambari/blob/d8bff038/ambari-server/src/main/resources/stacks/HDP/2.3/services/YARN/themes/theme.json
----------------------------------------------------------------------
diff --git 
a/ambari-server/src/main/resources/stacks/HDP/2.3/services/YARN/themes/theme.json
 
b/ambari-server/src/main/resources/stacks/HDP/2.3/services/YARN/themes/theme.json
index c149daa..553c9a9 100644
--- 
a/ambari-server/src/main/resources/stacks/HDP/2.3/services/YARN/themes/theme.json
+++ 
b/ambari-server/src/main/resources/stacks/HDP/2.3/services/YARN/themes/theme.json
@@ -1,150 +1,22 @@
 {
-  "Theme": {
-    "name": "default",
-    "description": "Default theme for YARN service",
+  "name": "default",
+  "description": "Default theme for YARN service",
+  "configuration": {
     "placement": {
       "configuration-layout": "default",
       "configs": [
         {
-          "config": "yarn-site/yarn.nodemanager.resource.memory-mb",
-          "subsection-name": "subsection-nm-sizing-col1"
-        },
-        {
-          "config": "yarn-site/yarn.nodemanager.vmem-pmem-ratio",
-          "subsection-name": "subsection-nm-sizing-col1"
-        },
-        {
-          "config": 
"yarn-site/yarn.nodemanager.resource.percentage-physical-cpu-limit",
-          "subsection-name": "subsection-nm-sizing-col2"
-        },
-        {
-          "config": "yarn-site/yarn.nodemanager.resource.cpu-vcores",
-          "subsection-name": "subsection-nm-sizing-col2"
-        },
-        {
-          "config": "yarn-site/yarn.scheduler.minimum-allocation-mb",
-          "subsection-name": "subsection-container-sizing-col1"
-        },
-        {
-          "config": "yarn-site/yarn.scheduler.maximum-allocation-mb",
-          "subsection-name": "subsection-container-sizing-col1"
-        },
-        {
-          "config": "yarn-site/yarn.scheduler.minimum-allocation-vcores",
-          "subsection-name": "subsection-container-sizing-col2"
-        },
-        {
-          "config": "yarn-site/yarn.scheduler.maximum-allocation-vcores",
-          "subsection-name": "subsection-container-sizing-col2"
-        },
-        {
           "config": "yarn-site/yarn.node-labels.enabled",
           "subsection-name": "subsection-yarn-platform-features-col1"
         },
         {
           "config": "yarn-env/yarn_cgroups_enabled",
           "subsection-name": "subsection-yarn-platform-features-col1"
-        },
-        {
-          "config": 
"yarn-site/yarn.resourcemanager.work-preserving-recovery.enabled",
-          "subsection-name": "subsection-yarn-platform-features-col1"
-        },
-        {
-          "config": "yarn-site/yarn.log-aggregation-enable",
-          "subsection-name": "subsection-yarn-platform-features-col1"
         }
       ]
     },
     "widgets": [
       {
-        "config": "yarn-site/yarn.nodemanager.resource.memory-mb",
-        "widget": {
-          "type": "slider",
-          "units": [
-            {
-              "unit-name": "MB"
-            }
-          ]
-        }
-      },
-      {
-        "config": "yarn-site/yarn.nodemanager.vmem-pmem-ratio",
-        "widget": {
-          "type": "slider",
-          "units": [
-            {
-              "unit-name": "float"
-            }
-          ]
-        }
-      },
-      {
-        "config": 
"yarn-site/yarn.nodemanager.resource.percentage-physical-cpu-limit",
-        "widget": {
-          "type": "slider",
-          "units": [
-            {
-              "unit-name": "percent"
-            }
-          ]
-        }
-      },
-      {
-        "config": "yarn-site/yarn.nodemanager.resource.cpu-vcores",
-        "widget": {
-          "type": "slider",
-          "units": [
-            {
-              "unit-name": "int"
-            }
-          ]
-        }
-      },
-      {
-        "config": "yarn-site/yarn.scheduler.minimum-allocation-mb",
-        "widget": {
-          "type": "slider",
-          "units": [
-            {
-              "unit-name": "MB"
-            }
-          ]
-        }
-      },
-      {
-        "config": "yarn-site/yarn.scheduler.maximum-allocation-mb",
-        "widget": {
-          "type": "slider",
-          "units": [
-            {
-              "unit-name": "MB"
-            }
-          ]
-        }
-      },
-      {
-        "config": "yarn-site/yarn.scheduler.minimum-allocation-vcores",
-        "widget": {
-          "type": "slider",
-          "units": [
-            {
-              "unit-name": "int"
-            }
-          ]
-        }
-      },
-      {
-        "config": "yarn-site/yarn.scheduler.maximum-allocation-vcores",
-        "widget": {
-          "type": "slider",
-          "units": [
-            {
-              "unit-name": "int"
-            }
-          ]
-        }
-      },
-      {
         "config": "yarn-site/yarn.node-labels.enabled",
         "widget": {
           "type": "checkbox"
@@ -155,19 +27,7 @@
         "widget": {
           "type": "checkbox"
         }
-      },
-      {
-        "config": "yarn-site/yarn.log-aggregation-enable",
-        "widget": {
-          "type": "checkbox"
-        }
-      },
-      {
-        "config": 
"yarn-site/yarn.resourcemanager.work-preserving-recovery.enabled",
-        "widget": {
-          "type": "checkbox"
-        }
       }
     ]
   }
-}
\ No newline at end of file
+}

http://git-wip-us.apache.org/repos/asf/ambari/blob/d8bff038/ambari-server/src/test/java/org/apache/ambari/server/stack/ThemeModuleTest.java
----------------------------------------------------------------------
diff --git 
a/ambari-server/src/test/java/org/apache/ambari/server/stack/ThemeModuleTest.java
 
b/ambari-server/src/test/java/org/apache/ambari/server/stack/ThemeModuleTest.java
index 500ccb3..f4b4b93 100644
--- 
a/ambari-server/src/test/java/org/apache/ambari/server/stack/ThemeModuleTest.java
+++ 
b/ambari-server/src/test/java/org/apache/ambari/server/stack/ThemeModuleTest.java
@@ -18,70 +18,36 @@
 
 package org.apache.ambari.server.stack;
 
-import org.apache.ambari.server.state.ThemeInfo;
-import org.apache.commons.lang.StringUtils;
-import org.codehaus.jackson.map.ObjectMapper;
-import org.codehaus.jackson.type.TypeReference;
+import org.apache.ambari.server.state.theme.Theme;
 import org.junit.Test;
 
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import java.io.File;
 
 import static org.junit.Assert.*;
 
 public class ThemeModuleTest {
-  private String parentTheme = "{\n" +
-    "  \"Theme\": {\n" +
-    "    \"name\": \"default\",\n" +
-    "    \"description\": \"Default theme for HDFS service\",\n" +
-    "    \"subObject\": {\n" +
-    "      \"primitiveInt\" : 10,\n" +
-    "      \"primitiveStr\" : \"str\",\n" +
-    "      \"array1\" : [1,2,3],\n" +
-    "      \"array2\" : [1,2,3]\n" +
-    "    }\n" +
-    "  }\n" +
-    "}";
-  private String childTheme = "{\n" +
-    "  \"Theme\": {\n" +
-    "    \"description\": \"inherited theme\",\n" +
-    "    \"subObject\": {\n" +
-    "      \"primitiveInt\" : 12,\n" +
-    "      \"primitiveStr\" : \"newStr\",\n" +
-    "      \"array1\" : [1,2,3,4,5],\n" +
-    "      \"array2\" : null,\n" +
-    "      \"subObject2\" : {\"1\":\"1\"}\n" +
-    "    }\n" +
-    "  }\n" +
-    "}";
-
-  private ObjectMapper mapper = new ObjectMapper();
-  TypeReference<HashMap<String,Object>> typeRef = new 
TypeReference<HashMap<String,Object>>() {};
 
 
   @Test
   public void testResolve() throws Exception {
+    File parentThemeFile = new 
File(this.getClass().getClassLoader().getResource("parent-theme.json").getFile());
+    File childThemeFile = new 
File(this.getClass().getClassLoader().getResource("child-theme.json").getFile());
 
-    ThemeInfo parentInfo = new ThemeInfo();
-    parentInfo.setThemeMap(mapper.<Map<String, Object>>readValue(parentTheme, 
typeRef));
-    ThemeModule parentModule = new ThemeModule(parentInfo);
-
-    ThemeInfo childInfo = new ThemeInfo();
-    childInfo.setThemeMap(mapper.<Map<String, Object>>readValue(childTheme, 
typeRef));
-    ThemeModule childModule = new ThemeModule(childInfo);
+    ThemeModule parentModule = new ThemeModule(parentThemeFile);
+    ThemeModule childModule = new ThemeModule(childThemeFile);
 
     childModule.resolve(parentModule, null, null);
 
-    Map descriptionMap = ((Map) childInfo.getThemeMap().get("Theme"));
-    Map subObjectMap = (Map) descriptionMap.get("subObject");
+    Theme childTheme = 
childModule.getModuleInfo().getThemeMap().get(ThemeModule.THEME_KEY);
+    Theme parentTheme = 
parentModule.getModuleInfo().getThemeMap().get(ThemeModule.THEME_KEY);
+
+    assertNotNull(childTheme.getThemeConfiguration().getLayouts()); // not 
defined in child should be inherited
+
+    assertEquals(10, 
parentTheme.getThemeConfiguration().getPlacement().getConfigs().size());
+    assertEquals(12, 
childTheme.getThemeConfiguration().getPlacement().getConfigs().size()); //two 
more inherited
 
-    assertTrue(StringUtils.equals((String) descriptionMap.get("description"), 
"inherited theme"));
-    assertTrue(descriptionMap.containsKey("name"));
-    assertFalse(subObjectMap.containsKey("array2"));
-    assertEquals(subObjectMap.get("primitiveInt"), 12);
-    assertEquals(subObjectMap.get("primitiveStr"), "newStr");
-    assertEquals(((List)subObjectMap.get("array1")).size(), 5);
+    assertEquals(10, parentTheme.getThemeConfiguration().getWidgets().size());
+    assertEquals(12, childTheme.getThemeConfiguration().getWidgets().size());
 
 
   }

http://git-wip-us.apache.org/repos/asf/ambari/blob/d8bff038/ambari-server/src/test/resources/child-theme.json
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/resources/child-theme.json 
b/ambari-server/src/test/resources/child-theme.json
new file mode 100644
index 0000000..553c9a9
--- /dev/null
+++ b/ambari-server/src/test/resources/child-theme.json
@@ -0,0 +1,33 @@
+{
+  "name": "default",
+  "description": "Default theme for YARN service",
+  "configuration": {
+    "placement": {
+      "configuration-layout": "default",
+      "configs": [
+        {
+          "config": "yarn-site/yarn.node-labels.enabled",
+          "subsection-name": "subsection-yarn-platform-features-col1"
+        },
+        {
+          "config": "yarn-env/yarn_cgroups_enabled",
+          "subsection-name": "subsection-yarn-platform-features-col1"
+        }
+      ]
+    },
+    "widgets": [
+      {
+        "config": "yarn-site/yarn.node-labels.enabled",
+        "widget": {
+          "type": "checkbox"
+        }
+      },
+      {
+        "config": "yarn-env/yarn_cgroups_enabled",
+        "widget": {
+          "type": "checkbox"
+        }
+      }
+    ]
+  }
+}

http://git-wip-us.apache.org/repos/asf/ambari/blob/d8bff038/ambari-server/src/test/resources/parent-theme.json
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/resources/parent-theme.json 
b/ambari-server/src/test/resources/parent-theme.json
new file mode 100644
index 0000000..5dbf19f
--- /dev/null
+++ b/ambari-server/src/test/resources/parent-theme.json
@@ -0,0 +1,241 @@
+{
+  "name": "default",
+  "description": "Default theme for YARN service",
+  "configuration": {
+    "layouts": [
+      {
+        "name": "default",
+        "tabs": [
+          {
+            "name": "settings",
+            "display-name": "Settings",
+            "layout": {
+              "tab-columns": "3",
+              "tab-rows": "2",
+              "sections": [
+                {
+                  "name": "section-nm-sizing",
+                  "display-name": "NodeManager Sizing",
+                  "row-index": "0",
+                  "column-index": "0",
+                  "row-span": "1",
+                  "column-span": "2",
+                  "section-columns": "2",
+                  "section-rows": "1",
+                  "subsections": [
+                    {
+                      "name": "subsection-nm-sizing-col1",
+                      "row-index": "0",
+                      "column-index": "0",
+                      "row-span": "1",
+                      "column-span": "1"
+                    },
+                    {
+                      "name": "subsection-nm-sizing-col2",
+                      "row-index": "0",
+                      "column-index": "1",
+                      "row-span": "1",
+                      "column-span": "1"
+                    }
+                  ]
+                },
+                {
+                  "name": "section-yarn-platform-features",
+                  "display-name": "YARN Platform Features",
+                  "row-index": "0",
+                  "column-index": "2",
+                  "row-span": "1",
+                  "column-span": "1",
+                  "section-columns": "1",
+                  "section-rows": "1",
+                  "subsections": [
+                    {
+                      "name": "subsection-yarn-platform-features-col1",
+                      "row-index": "0",
+                      "column-index": "0",
+                      "row-span": "1",
+                      "column-span": "1"
+                    }
+                  ]
+                },
+                {
+                  "name": "section-container-sizing",
+                  "display-name": "Container Sizing",
+                  "row-index": "1",
+                  "column-index": "0",
+                  "row-span": "1",
+                  "column-span": "2",
+                  "section-columns": "2",
+                  "section-rows": "1",
+                  "subsections": [
+                    {
+                      "name": "subsection-container-sizing-col1",
+                      "row-index": "0",
+                      "column-index": "0",
+                      "row-span": "1",
+                      "column-span": "1"
+                    },
+                    {
+                      "name": "subsection-container-sizing-col2",
+                      "row-index": "0",
+                      "column-index": "1",
+                      "row-span": "1",
+                      "column-span": "1"
+                    }
+                  ]
+                }
+              ]
+            }
+          }
+        ]
+      }
+    ],
+    "placement": {
+      "configuration-layout": "default",
+      "configs": [
+        {
+          "config": "yarn-site/yarn.nodemanager.resource.memory-mb",
+          "subsection-name": "subsection-nm-sizing-col1"
+        },
+        {
+          "config": "yarn-site/yarn.nodemanager.vmem-pmem-ratio",
+          "subsection-name": "subsection-nm-sizing-col1"
+        },
+        {
+          "config": 
"yarn-site/yarn.nodemanager.resource.percentage-physical-cpu-limit",
+          "subsection-name": "subsection-nm-sizing-col2"
+        },
+        {
+          "config": "yarn-site/yarn.nodemanager.resource.cpu-vcores",
+          "subsection-name": "subsection-nm-sizing-col2"
+        },
+        {
+          "config": "yarn-site/yarn.scheduler.minimum-allocation-mb",
+          "subsection-name": "subsection-container-sizing-col1"
+        },
+        {
+          "config": "yarn-site/yarn.scheduler.maximum-allocation-mb",
+          "subsection-name": "subsection-container-sizing-col1"
+        },
+        {
+          "config": "yarn-site/yarn.scheduler.minimum-allocation-vcores",
+          "subsection-name": "subsection-container-sizing-col2"
+        },
+        {
+          "config": "yarn-site/yarn.scheduler.maximum-allocation-vcores",
+          "subsection-name": "subsection-container-sizing-col2"
+        },
+        {
+          "config": 
"yarn-site/yarn.resourcemanager.work-preserving-recovery.enabled",
+          "subsection-name": "subsection-yarn-platform-features-col1"
+        },
+        {
+          "config": "yarn-site/yarn.log-aggregation-enable",
+          "subsection-name": "subsection-yarn-platform-features-col1"
+        }
+      ]
+    },
+    "widgets": [
+      {
+        "config": "yarn-site/yarn.nodemanager.resource.memory-mb",
+        "widget": {
+          "type": "slider",
+          "units": [
+            {
+              "unit-name": "MB"
+            }
+          ]
+        }
+      },
+      {
+        "config": "yarn-site/yarn.nodemanager.vmem-pmem-ratio",
+        "widget": {
+          "type": "slider",
+          "units": [
+            {
+              "unit-name": "float"
+            }
+          ]
+        }
+      },
+      {
+        "config": 
"yarn-site/yarn.nodemanager.resource.percentage-physical-cpu-limit",
+        "widget": {
+          "type": "slider",
+          "units": [
+            {
+              "unit-name": "percent"
+            }
+          ]
+        }
+      },
+      {
+        "config": "yarn-site/yarn.nodemanager.resource.cpu-vcores",
+        "widget": {
+          "type": "slider",
+          "units": [
+            {
+              "unit-name": "int"
+            }
+          ]
+        }
+      },
+      {
+        "config": "yarn-site/yarn.scheduler.minimum-allocation-mb",
+        "widget": {
+          "type": "slider",
+          "units": [
+            {
+              "unit-name": "MB"
+            }
+          ]
+        }
+      },
+      {
+        "config": "yarn-site/yarn.scheduler.maximum-allocation-mb",
+        "widget": {
+          "type": "slider",
+          "units": [
+            {
+              "unit-name": "MB"
+            }
+          ]
+        }
+      },
+      {
+        "config": "yarn-site/yarn.scheduler.minimum-allocation-vcores",
+        "widget": {
+          "type": "slider",
+          "units": [
+            {
+              "unit-name": "int"
+            }
+          ]
+        }
+      },
+      {
+        "config": "yarn-site/yarn.scheduler.maximum-allocation-vcores",
+        "widget": {
+          "type": "slider",
+          "units": [
+            {
+              "unit-name": "int"
+            }
+          ]
+        }
+      },
+      {
+        "config": "yarn-site/yarn.log-aggregation-enable",
+        "widget": {
+          "type": "checkbox"
+        }
+      },
+      {
+        "config": 
"yarn-site/yarn.resourcemanager.work-preserving-recovery.enabled",
+        "widget": {
+          "type": "checkbox"
+        }
+      }
+    ]
+  }
+}

http://git-wip-us.apache.org/repos/asf/ambari/blob/d8bff038/ambari-web/app/mappers/configs/themes_mapper.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/mappers/configs/themes_mapper.js 
b/ambari-web/app/mappers/configs/themes_mapper.js
index 978d7e3..5f00730 100644
--- a/ambari-web/app/mappers/configs/themes_mapper.js
+++ b/ambari-web/app/mappers/configs/themes_mapper.js
@@ -123,7 +123,7 @@ App.themesMapper = App.QuickDataMapper.create({
    * @param {Object} json - json to parse
    */
   mapThemeConfigs: function(json) {
-    Em.getWithDefault(json, "ThemeInfo.theme_data.Theme.placement.configs", 
[]).forEach(function(configLink) {
+    Em.getWithDefault(json, 
"ThemeInfo.theme_data.Theme.configuration.placement.configs", 
[]).forEach(function(configLink) {
       var configId = this.getConfigId(configLink);
       var subSectionId = configLink["subsection-name"];
       var subSection = App.SubSection.find(subSectionId);
@@ -144,7 +144,7 @@ App.themesMapper = App.QuickDataMapper.create({
    * @param {Object} json - json to parse
    */
   mapThemeWidgets: function(json) {
-    Em.getWithDefault(json, "ThemeInfo.theme_data.Theme.widgets", 
[]).forEach(function(widget) {
+    Em.getWithDefault(json, 
"ThemeInfo.theme_data.Theme.configuration.widgets", 
[]).forEach(function(widget) {
       var configId = this.getConfigId(widget);
       var configProperty = App.StackConfigProperty.find(configId);
 

Reply via email to