Browse Source

AMBARI-10555. Change API response structure for widget API. (Ivan via Jaimin)

Jaimin Jetly 10 years ago
parent
commit
2ea37fbcd7

+ 6 - 6
ambari-server/src/main/java/org/apache/ambari/server/api/resources/ActiveWidgetLayoutResourceDefinition.java

@@ -63,17 +63,17 @@ public class ActiveWidgetLayoutResourceDefinition extends BaseResourceDefinition
       TreeNode<Resource> parent = resultNode.getParent();
 
       for (TreeNode<Resource> node : parent.getChildren()) {
-        if (node.getObject().getPropertiesMap().get("WidgetLayouts") != null) {
-          String layoutId = resultNode.getObject().getPropertyValue("WidgetLayouts/id").toString();
-          String clusterName = resultNode.getObject().getPropertyValue("WidgetLayouts/cluster_name").toString();
+        if (node.getObject().getPropertiesMap().get("WidgetLayoutInfo") != null) {
+          String layoutId = resultNode.getObject().getPropertyValue("WidgetLayoutInfo/id").toString();
+          String clusterName = resultNode.getObject().getPropertyValue("WidgetLayoutInfo/cluster_name").toString();
           String newHref = href.substring(0, href.indexOf("/users") + 1) +
                   "clusters/" + clusterName + "/widget_layouts/" + layoutId;
           resultNode.setProperty("href", newHref);
         }
-        if (node.getObject().getPropertiesMap().get("WidgetLayouts") != null &&
-                node.getObject().getPropertiesMap().get("WidgetLayouts").get("WidgetInfo") != null) {
+        if (node.getObject().getPropertiesMap().get("WidgetLayoutInfo") != null &&
+                node.getObject().getPropertiesMap().get("WidgetLayoutInfo").get("WidgetInfo") != null) {
 
-          ArrayList widgetsList = (ArrayList) node.getObject().getPropertiesMap().get("WidgetLayouts").get("WidgetInfo");
+          ArrayList widgetsList = (ArrayList) node.getObject().getPropertiesMap().get("WidgetLayoutInfo").get("WidgetInfo");
           for (Object widgetObject : widgetsList) {
             HashMap<String, Object> widgetMap = (HashMap) widgetObject;
             String widgetId = ((WidgetResponse) widgetMap.get("Widget")).getId().toString();

+ 1 - 0
ambari-server/src/main/java/org/apache/ambari/server/api/resources/WidgetResourceDefinition.java

@@ -1,3 +1,4 @@
+
 /**
  * Licensed to the Apache Software Foundation (ASF) under one
  * or more contributor license agreements.  See the NOTICE file

+ 12 - 11
ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ActiveWidgetLayoutResourceProvider.java

@@ -63,14 +63,14 @@ public class ActiveWidgetLayoutResourceProvider extends AbstractControllerResour
 
   // ----- Property ID constants ---------------------------------------------
 
-  public static final String WIDGETLAYOUT_ID_PROPERTY_ID                 = PropertyHelper.getPropertyId("WidgetLayouts", "id");
-  public static final String WIDGETLAYOUT_CLUSTER_NAME_PROPERTY_ID                 = PropertyHelper.getPropertyId("WidgetLayouts", "cluster_name");
-  public static final String WIDGETLAYOUT_SECTION_NAME_PROPERTY_ID                 = PropertyHelper.getPropertyId("WidgetLayouts", "section_name");
-  public static final String WIDGETLAYOUT_LAYOUT_NAME_PROPERTY_ID                 = PropertyHelper.getPropertyId("WidgetLayouts", "layout_name");
-  public static final String WIDGETLAYOUT_SCOPE_PROPERTY_ID                  = PropertyHelper.getPropertyId("WidgetLayouts", "scope");
-  public static final String WIDGETLAYOUT_INFO_PROPERTY_ID                   = PropertyHelper.getPropertyId("WidgetLayouts", "WidgetInfo");
-  public static final String WIDGETLAYOUT_USERNAME_PROPERTY_ID                   = PropertyHelper.getPropertyId("WidgetLayouts", "user_name");
-  public static final String WIDGETLAYOUT_DISPLAY_NAME_PROPERTY_ID                   = PropertyHelper.getPropertyId("WidgetLayouts", "display_name");
+  public static final String WIDGETLAYOUT_ID_PROPERTY_ID                 = PropertyHelper.getPropertyId("WidgetLayoutInfo", "id");
+  public static final String WIDGETLAYOUT_CLUSTER_NAME_PROPERTY_ID                 = PropertyHelper.getPropertyId("WidgetLayoutInfo", "cluster_name");
+  public static final String WIDGETLAYOUT_SECTION_NAME_PROPERTY_ID                 = PropertyHelper.getPropertyId("WidgetLayoutInfo", "section_name");
+  public static final String WIDGETLAYOUT_LAYOUT_NAME_PROPERTY_ID                 = PropertyHelper.getPropertyId("WidgetLayoutInfo", "layout_name");
+  public static final String WIDGETLAYOUT_SCOPE_PROPERTY_ID                  = PropertyHelper.getPropertyId("WidgetLayoutInfo", "scope");
+  public static final String WIDGETLAYOUT_WIDGETS_PROPERTY_ID                   = PropertyHelper.getPropertyId("WidgetLayoutInfo", "widgets");
+  public static final String WIDGETLAYOUT_USERNAME_PROPERTY_ID                   = PropertyHelper.getPropertyId("WidgetLayoutInfo", "user_name");
+  public static final String WIDGETLAYOUT_DISPLAY_NAME_PROPERTY_ID                   = PropertyHelper.getPropertyId("WidgetLayoutInfo", "display_name");
   public static final String WIDGETLAYOUT = "WidgetLayouts";
   public static final String ID = "id";
 
@@ -89,10 +89,11 @@ public class ActiveWidgetLayoutResourceProvider extends AbstractControllerResour
     propertyIds.add(WIDGETLAYOUT_SECTION_NAME_PROPERTY_ID);
     propertyIds.add(WIDGETLAYOUT_LAYOUT_NAME_PROPERTY_ID);
     propertyIds.add(WIDGETLAYOUT_CLUSTER_NAME_PROPERTY_ID);
-    propertyIds.add(WIDGETLAYOUT_INFO_PROPERTY_ID);
+    propertyIds.add(WIDGETLAYOUT_WIDGETS_PROPERTY_ID);
     propertyIds.add(WIDGETLAYOUT_SCOPE_PROPERTY_ID);
     propertyIds.add(WIDGETLAYOUT_USERNAME_PROPERTY_ID);
     propertyIds.add(WIDGETLAYOUT_DISPLAY_NAME_PROPERTY_ID);
+    propertyIds.add(WIDGETLAYOUT);
     keyPropertyIds.put(Type.ActiveWidgetLayout, WIDGETLAYOUT_ID_PROPERTY_ID);
     keyPropertyIds.put(Type.User, WIDGETLAYOUT_USERNAME_PROPERTY_ID);
   }
@@ -168,10 +169,10 @@ public class ActiveWidgetLayoutResourceProvider extends AbstractControllerResour
       for (WidgetLayoutUserWidgetEntity widgetLayoutUserWidgetEntity : widgetLayoutUserWidgetEntityList) {
         WidgetEntity widgetEntity = widgetLayoutUserWidgetEntity.getWidget();
         HashMap<String, Object> widgetInfoMap = new HashMap<String, Object>();
-        widgetInfoMap.put("Widget",WidgetResponse.coerce(widgetEntity));
+        widgetInfoMap.put("WidgetInfo",WidgetResponse.coerce(widgetEntity));
         widgets.add(widgetInfoMap);
       }
-      resource.setProperty(WIDGETLAYOUT_INFO_PROPERTY_ID, widgets);
+      resource.setProperty(WIDGETLAYOUT_WIDGETS_PROPERTY_ID, widgets);
 
       resources.add(resource);
     }

+ 12 - 12
ambari-server/src/main/java/org/apache/ambari/server/controller/internal/WidgetResourceProvider.java

@@ -59,18 +59,18 @@ public class WidgetResourceProvider extends AbstractControllerResourceProvider {
 
   // ----- Property ID constants ---------------------------------------------
 
-  public static final String WIDGET_ID_PROPERTY_ID                 = PropertyHelper.getPropertyId("Widgets", "id");
-  public static final String WIDGET_CLUSTER_NAME_PROPERTY_ID                 = PropertyHelper.getPropertyId("Widgets", "cluster_name");
-  public static final String WIDGET_WIDGET_NAME_PROPERTY_ID                 = PropertyHelper.getPropertyId("Widgets", "widget_name");
-  public static final String WIDGET_DISPLAY_NAME_PROPERTY_ID                 = PropertyHelper.getPropertyId("Widgets", "display_name");
-  public static final String WIDGET_WIDGET_TYPE_PROPERTY_ID                 = PropertyHelper.getPropertyId("Widgets", "widget_type");
-  public static final String WIDGET_TIME_CREATED_PROPERTY_ID                 = PropertyHelper.getPropertyId("Widgets", "time_created");
-  public static final String WIDGET_AUTHOR_PROPERTY_ID                 = PropertyHelper.getPropertyId("Widgets", "author");
-  public static final String WIDGET_DESCRIPTION_PROPERTY_ID                 = PropertyHelper.getPropertyId("Widgets", "description");
-  public static final String WIDGET_SCOPE_PROPERTY_ID                 = PropertyHelper.getPropertyId("Widgets", "scope");
-  public static final String WIDGET_METRICS_PROPERTY_ID                 = PropertyHelper.getPropertyId("Widgets", "metrics");
-  public static final String WIDGET_VALUES_PROPERTY_ID                 = PropertyHelper.getPropertyId("Widgets", "values");
-  public static final String WIDGET_PROPERTIES_PROPERTY_ID                 = PropertyHelper.getPropertyId("Widgets", "properties");
+  public static final String WIDGET_ID_PROPERTY_ID                 = PropertyHelper.getPropertyId("WidgetInfo", "id");
+  public static final String WIDGET_CLUSTER_NAME_PROPERTY_ID                 = PropertyHelper.getPropertyId("WidgetInfo", "cluster_name");
+  public static final String WIDGET_WIDGET_NAME_PROPERTY_ID                 = PropertyHelper.getPropertyId("WidgetInfo", "widget_name");
+  public static final String WIDGET_DISPLAY_NAME_PROPERTY_ID                 = PropertyHelper.getPropertyId("WidgetInfo", "display_name");
+  public static final String WIDGET_WIDGET_TYPE_PROPERTY_ID                 = PropertyHelper.getPropertyId("WidgetInfo", "widget_type");
+  public static final String WIDGET_TIME_CREATED_PROPERTY_ID                 = PropertyHelper.getPropertyId("WidgetInfo", "time_created");
+  public static final String WIDGET_AUTHOR_PROPERTY_ID                 = PropertyHelper.getPropertyId("WidgetInfo", "author");
+  public static final String WIDGET_DESCRIPTION_PROPERTY_ID                 = PropertyHelper.getPropertyId("WidgetInfo", "description");
+  public static final String WIDGET_SCOPE_PROPERTY_ID                 = PropertyHelper.getPropertyId("WidgetInfo", "scope");
+  public static final String WIDGET_METRICS_PROPERTY_ID                 = PropertyHelper.getPropertyId("WidgetInfo", "metrics");
+  public static final String WIDGET_VALUES_PROPERTY_ID                 = PropertyHelper.getPropertyId("WidgetInfo", "values");
+  public static final String WIDGET_PROPERTIES_PROPERTY_ID                 = PropertyHelper.getPropertyId("WidgetInfo", "properties");
   public static enum SCOPE {
     CLUSTER,
     USER

+ 20 - 20
ambari-server/src/main/resources/properties.json

@@ -425,29 +425,29 @@
         "_"
     ],
     "Widget":[
-      "Widgets/id",
-      "Widgets/cluster_name",
-      "Widgets/widget_name",
-      "Widgets/display_name",
-      "Widgets/widget_type",
-      "Widgets/time_created",
-      "Widgets/author",
-      "Widgets/description",
-      "Widgets/scope",
-      "Widgets/metrics",
-      "Widgets/values",
-      "Widgets/properties",
+      "WidgetInfo/id",
+      "WidgetInfo/cluster_name",
+      "WidgetInfo/widget_name",
+      "WidgetInfo/display_name",
+      "WidgetInfo/widget_type",
+      "WidgetInfo/time_created",
+      "WidgetInfo/author",
+      "WidgetInfo/description",
+      "WidgetInfo/scope",
+      "WidgetInfo/metrics",
+      "WidgetInfo/values",
+      "WidgetInfo/properties",
       "_"
     ],
     "WidgetLayout":[
-      "WidgetLayouts/id",
-      "WidgetLayouts/section_name",
-      "WidgetLayouts/cluster_name",
-      "WidgetLayouts/layout_name",
-      "WidgetLayouts/display_name",
-      "WidgetLayouts/scope",
-      "WidgetLayouts/user_name",
-      "WidgetLayouts/WidgetsInfo",
+      "WidgetLayoutInfo/id",
+      "WidgetLayoutInfo/section_name",
+      "WidgetLayoutInfo/cluster_name",
+      "WidgetLayoutInfo/layout_name",
+      "WidgetLayoutInfo/display_name",
+      "WidgetLayoutInfo/scope",
+      "WidgetLayoutInfo/user_name",
+      "WidgetLayoutInfo/WidgetsInfo",
       "User/user_name",
       "_"
     ],

+ 2 - 2
ambari-server/src/test/java/org/apache/ambari/server/controller/internal/ActiveWidgetLayoutResourceProviderTest.java

@@ -91,7 +91,7 @@ public class ActiveWidgetLayoutResourceProviderTest {
         ActiveWidgetLayoutResourceProvider.WIDGETLAYOUT_SECTION_NAME_PROPERTY_ID,
         ActiveWidgetLayoutResourceProvider.WIDGETLAYOUT_USERNAME_PROPERTY_ID,
         ActiveWidgetLayoutResourceProvider.WIDGETLAYOUT_SCOPE_PROPERTY_ID,
-        ActiveWidgetLayoutResourceProvider.WIDGETLAYOUT_INFO_PROPERTY_ID);
+        ActiveWidgetLayoutResourceProvider.WIDGETLAYOUT_WIDGETS_PROPERTY_ID);
 
     AmbariManagementController amc = createMock(AmbariManagementController.class);
     Clusters clusters = createMock(Clusters.class);
@@ -124,7 +124,7 @@ public class ActiveWidgetLayoutResourceProviderTest {
     Assert.assertEquals("displ_name", r.getPropertyValue(ActiveWidgetLayoutResourceProvider.WIDGETLAYOUT_DISPLAY_NAME_PROPERTY_ID));
     Assert.assertEquals("layout name0", r.getPropertyValue(ActiveWidgetLayoutResourceProvider.WIDGETLAYOUT_LAYOUT_NAME_PROPERTY_ID));
 
-    Assert.assertEquals("[]", r.getPropertyValue(ActiveWidgetLayoutResourceProvider.WIDGETLAYOUT_INFO_PROPERTY_ID).toString());
+    Assert.assertEquals("[]", r.getPropertyValue(ActiveWidgetLayoutResourceProvider.WIDGETLAYOUT_WIDGETS_PROPERTY_ID).toString());
 
     verify(amc, clusters, cluster, widgetLayoutDAO, userEntity, userDAO);
   }