AMBARI-7018. Stack API should provide display name for services and components. 
(jaimin)


Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/02ee3d44
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/02ee3d44
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/02ee3d44

Branch: refs/heads/trunk
Commit: 02ee3d440596c3e159985830ede4f6fe358a576b
Parents: fb9d884
Author: Jaimin Jetly <jai...@hortonworks.com>
Authored: Tue Aug 26 12:40:41 2014 -0700
Committer: Jaimin Jetly <jai...@hortonworks.com>
Committed: Tue Aug 26 12:40:53 2014 -0700

----------------------------------------------------------------------
 .../server/api/util/StackExtensionHelper.java   |  9 +++
 .../StackServiceComponentResponse.java          | 33 +++++++++--
 .../server/controller/StackServiceResponse.java | 16 ++++-
 .../StackServiceComponentResourceProvider.java  | 22 +++----
 .../internal/StackServiceResourceProvider.java  | 22 +++----
 .../ambari/server/state/ComponentInfo.java      | 14 ++++-
 .../apache/ambari/server/state/ServiceInfo.java |  9 +++
 .../src/main/resources/properties.json          |  2 +
 .../HDP/1.3.2/services/GANGLIA/metainfo.xml     |  3 +
 .../HDP/1.3.2/services/HBASE/metainfo.xml       |  4 ++
 .../stacks/HDP/1.3.2/services/HDFS/metainfo.xml |  5 ++
 .../stacks/HDP/1.3.2/services/HIVE/metainfo.xml | 11 +++-
 .../HDP/1.3.2/services/MAPREDUCE/metainfo.xml   |  5 ++
 .../HDP/1.3.2/services/NAGIOS/metainfo.xml      |  2 +
 .../HDP/1.3.2/services/OOZIE/metainfo.xml       |  3 +
 .../stacks/HDP/1.3.2/services/PIG/metainfo.xml  |  2 +
 .../HDP/1.3.2/services/SQOOP/metainfo.xml       |  2 +
 .../HDP/1.3.2/services/WEBHCAT/metainfo.xml     |  4 +-
 .../HDP/1.3.2/services/ZOOKEEPER/metainfo.xml   |  3 +
 .../HDP/2.0.6/services/FLUME/metainfo.xml       |  2 +
 .../HDP/2.0.6/services/GANGLIA/metainfo.xml     |  3 +
 .../HDP/2.0.6/services/HBASE/metainfo.xml       |  4 ++
 .../stacks/HDP/2.0.6/services/HDFS/metainfo.xml |  7 +++
 .../stacks/HDP/2.0.6/services/HIVE/metainfo.xml | 11 +++-
 .../HDP/2.0.6/services/NAGIOS/metainfo.xml      |  2 +
 .../HDP/2.0.6/services/OOZIE/metainfo.xml       |  3 +
 .../stacks/HDP/2.0.6/services/PIG/metainfo.xml  |  2 +
 .../HDP/2.0.6/services/SQOOP/metainfo.xml       |  2 +
 .../HDP/2.0.6/services/WEBHCAT/metainfo.xml     |  4 +-
 .../stacks/HDP/2.0.6/services/YARN/metainfo.xml |  7 +++
 .../HDP/2.0.6/services/ZOOKEEPER/metainfo.xml   |  2 +
 .../stacks/HDP/2.1/services/FALCON/metainfo.xml |  3 +
 .../stacks/HDP/2.1/services/STORM/metainfo.xml  |  6 ++
 .../stacks/HDP/2.1/services/TEZ/metainfo.xml    |  2 +
 .../stacks/HDP/2.1/services/YARN/metainfo.xml   |  2 +
 .../api/util/StackExtensionHelperTest.java      |  2 +
 .../HDP/2.0.6/services/NAGIOS/metainfo.xml      |  2 +
 .../HDP/2.0.6/services/WEBHCAT/metainfo.xml     |  1 +
 .../stacks/HDP/2.0.6/services/YARN/metainfo.xml |  4 ++
 .../HDP/2.0.7/services/HBASE/metainfo.xml       |  4 ++
 .../stacks/HDP/2.0.7/services/HDFS/metainfo.xml |  7 +++
 .../stacks/HDP/2.0.7/services/HIVE/metainfo.xml |  5 ++
 .../HDP/2.0.7/services/ZOOKEEPER/metainfo.xml   |  3 +
 .../HDP/2.0.8/services/SQOOP/metainfo.xml       |  1 +
 .../HDP/2.1.1/services/STORM/metainfo.xml       |  4 ++
 ambari-web/app/mappers/stack_service_mapper.js  |  2 +
 ambari-web/app/mixins.js                        |  1 -
 ambari-web/app/mixins/models/service_mixin.js   | 30 ----------
 ambari-web/app/models/service.js                |  7 ++-
 ambari-web/app/models/stack_service.js          |  5 +-
 .../app/models/stack_service_component.js       | 10 +---
 ambari-web/app/utils/helper.js                  | 15 ++++-
 ambari-web/test/app_test.js                     |  2 +-
 ambari-web/test/service_components.js           | 61 ++++++++++++++++++++
 54 files changed, 312 insertions(+), 87 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ambari/blob/02ee3d44/ambari-server/src/main/java/org/apache/ambari/server/api/util/StackExtensionHelper.java
----------------------------------------------------------------------
diff --git 
a/ambari-server/src/main/java/org/apache/ambari/server/api/util/StackExtensionHelper.java
 
b/ambari-server/src/main/java/org/apache/ambari/server/api/util/StackExtensionHelper.java
index c39b2ec..fb3ddc9 100644
--- 
a/ambari-server/src/main/java/org/apache/ambari/server/api/util/StackExtensionHelper.java
+++ 
b/ambari-server/src/main/java/org/apache/ambari/server/api/util/StackExtensionHelper.java
@@ -138,6 +138,10 @@ public class StackExtensionHelper {
     mergedServiceInfo.setName(childService.getName());
     mergedServiceInfo.setComment(childService.getComment());
     mergedServiceInfo.setVersion(childService.getVersion());
+    mergedServiceInfo.setDisplayName(
+        childService.getDisplayName() != null ?
+            childService.getDisplayName() :
+            parentService.getDisplayName());
     mergedServiceInfo.setConfigDependencies(
         childService.getConfigDependencies() != null ?
             childService.getConfigDependencies() :
@@ -306,10 +310,15 @@ public class StackExtensionHelper {
       result.setCommandScript(parent.getCommandScript());
     }
     //keep the same semantic as for ServiceInfo
+    result.setDisplayName(
+        child.getDisplayName() != null ?
+            child.getDisplayName() : parent.getDisplayName());
+
     result.setConfigDependencies(
         child.getConfigDependencies() != null ?
             child.getConfigDependencies() : parent.getConfigDependencies());
 
+
 //    HashSet downloadSource = child.getDownloadSource();
 //    if (downloadSource != null) {
 //      result.setDownloadSource(child.getDownloadSource());

http://git-wip-us.apache.org/repos/asf/ambari/blob/02ee3d44/ambari-server/src/main/java/org/apache/ambari/server/controller/StackServiceComponentResponse.java
----------------------------------------------------------------------
diff --git 
a/ambari-server/src/main/java/org/apache/ambari/server/controller/StackServiceComponentResponse.java
 
b/ambari-server/src/main/java/org/apache/ambari/server/controller/StackServiceComponentResponse.java
index d76f350..47d153b 100644
--- 
a/ambari-server/src/main/java/org/apache/ambari/server/controller/StackServiceComponentResponse.java
+++ 
b/ambari-server/src/main/java/org/apache/ambari/server/controller/StackServiceComponentResponse.java
@@ -18,14 +18,14 @@
 
 package org.apache.ambari.server.controller;
 
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
-
 import org.apache.ambari.server.state.AutoDeployInfo;
 import org.apache.ambari.server.state.ComponentInfo;
 import org.apache.ambari.server.state.CustomCommandDefinition;
 
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+
 /**
  * Stack service component response.
  */
@@ -51,6 +51,11 @@ public class StackServiceComponentResponse {
   private String componentName;
 
   /**
+   * component display name
+   */
+  private String componentDisplayName;
+
+  /**
    * component category
    */
   private String componentCategory;
@@ -89,6 +94,7 @@ public class StackServiceComponentResponse {
    */
   public StackServiceComponentResponse(ComponentInfo component) {
     componentName = component.getName();
+    componentDisplayName = component.getDisplayName();
     componentCategory = component.getCategory();
     isClient = component.isClient();
     isMaster = component.isMaster();
@@ -180,6 +186,25 @@ public class StackServiceComponentResponse {
   }
 
   /**
+   * Get component display name.
+   *
+   * @return component display name
+   */
+
+  public String getComponentDisplayName() {
+    return componentDisplayName;
+  }
+
+  /**
+   * Set component display name.
+   *
+   * @param componentDisplayName  component display name
+   */
+  public void setComponentDisplayName(String componentDisplayName) {
+    this.componentDisplayName = componentDisplayName;
+  }
+
+  /**
    * Get component category.
    *
    * @return component category

http://git-wip-us.apache.org/repos/asf/ambari/blob/02ee3d44/ambari-server/src/main/java/org/apache/ambari/server/controller/StackServiceResponse.java
----------------------------------------------------------------------
diff --git 
a/ambari-server/src/main/java/org/apache/ambari/server/controller/StackServiceResponse.java
 
b/ambari-server/src/main/java/org/apache/ambari/server/controller/StackServiceResponse.java
index 6e7e8e0..9c986b1 100644
--- 
a/ambari-server/src/main/java/org/apache/ambari/server/controller/StackServiceResponse.java
+++ 
b/ambari-server/src/main/java/org/apache/ambari/server/controller/StackServiceResponse.java
@@ -18,19 +18,20 @@
 
 package org.apache.ambari.server.controller;
 
+import org.apache.ambari.server.state.CustomCommandDefinition;
+import org.apache.ambari.server.state.ServiceInfo;
+
 import java.util.ArrayList;
 import java.util.Collections;
 import java.util.List;
 import java.util.Map;
 
-import org.apache.ambari.server.state.CustomCommandDefinition;
-import org.apache.ambari.server.state.ServiceInfo;
-
 public class StackServiceResponse {
 
   private String stackName;
   private String stackVersion;
   private String serviceName;
+  private String serviceDisplayName;
   private String userName;
   private String comments;
   private String serviceVersion;
@@ -48,6 +49,7 @@ public class StackServiceResponse {
    */
   public StackServiceResponse(ServiceInfo service) {
     serviceName = service.getName();
+    serviceDisplayName = service.getDisplayName();
     userName = null;
     comments = service.getComment();
     serviceVersion = service.getVersion();
@@ -91,6 +93,14 @@ public class StackServiceResponse {
     this.serviceName = serviceName;
   }
 
+  public String getServiceDisplayName() {
+    return serviceDisplayName;
+  }
+
+  public void setServiceDisplayName(String serviceDisplayName) {
+    this.serviceDisplayName = serviceDisplayName;
+  }
+
   public String getUserName() {
     return userName;
   }

http://git-wip-us.apache.org/repos/asf/ambari/blob/02ee3d44/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/StackServiceComponentResourceProvider.java
----------------------------------------------------------------------
diff --git 
a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/StackServiceComponentResourceProvider.java
 
b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/StackServiceComponentResourceProvider.java
index e7e50d0..1f23773 100644
--- 
a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/StackServiceComponentResourceProvider.java
+++ 
b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/StackServiceComponentResourceProvider.java
@@ -18,27 +18,17 @@
 
 package org.apache.ambari.server.controller.internal;
 
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.HashSet;
-import java.util.Map;
-import java.util.Set;
-
 import org.apache.ambari.server.AmbariException;
 import org.apache.ambari.server.controller.AmbariManagementController;
 import org.apache.ambari.server.controller.StackServiceComponentRequest;
 import org.apache.ambari.server.controller.StackServiceComponentResponse;
-import org.apache.ambari.server.controller.spi.NoSuchParentResourceException;
-import org.apache.ambari.server.controller.spi.NoSuchResourceException;
-import org.apache.ambari.server.controller.spi.Predicate;
-import org.apache.ambari.server.controller.spi.Request;
-import org.apache.ambari.server.controller.spi.Resource;
+import org.apache.ambari.server.controller.spi.*;
 import org.apache.ambari.server.controller.spi.Resource.Type;
-import org.apache.ambari.server.controller.spi.SystemException;
-import org.apache.ambari.server.controller.spi.UnsupportedPropertyException;
 import org.apache.ambari.server.controller.utilities.PropertyHelper;
 import org.apache.ambari.server.state.AutoDeployInfo;
 
+import java.util.*;
+
 public class StackServiceComponentResourceProvider extends
     ReadOnlyResourceProvider {
 
@@ -54,6 +44,9 @@ public class StackServiceComponentResourceProvider extends
   private static final String COMPONENT_NAME_PROPERTY_ID = 
PropertyHelper.getPropertyId(
       "StackServiceComponents", "component_name");
 
+  private static final String COMPONENT_DISPLAY_NAME_PROPERTY_ID = 
PropertyHelper.getPropertyId(
+          "StackServiceComponents", "display_name");
+
   private static final String COMPONENT_CATEGORY_PROPERTY_ID = 
PropertyHelper.getPropertyId(
       "StackServiceComponents", "component_category");
 
@@ -127,6 +120,9 @@ public class StackServiceComponentResourceProvider extends
       setResourceProperty(resource, COMPONENT_NAME_PROPERTY_ID,
           response.getComponentName(), requestedIds);
 
+      setResourceProperty(resource, COMPONENT_DISPLAY_NAME_PROPERTY_ID,
+              response.getComponentDisplayName(), requestedIds);
+
       setResourceProperty(resource, COMPONENT_CATEGORY_PROPERTY_ID,
           response.getComponentCategory(), requestedIds);
 

http://git-wip-us.apache.org/repos/asf/ambari/blob/02ee3d44/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/StackServiceResourceProvider.java
----------------------------------------------------------------------
diff --git 
a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/StackServiceResourceProvider.java
 
b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/StackServiceResourceProvider.java
index f6a6141..1296ba1 100644
--- 
a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/StackServiceResourceProvider.java
+++ 
b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/StackServiceResourceProvider.java
@@ -19,26 +19,16 @@
 
 package org.apache.ambari.server.controller.internal;
 
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.HashSet;
-import java.util.Map;
-import java.util.Set;
-
 import org.apache.ambari.server.AmbariException;
 import org.apache.ambari.server.controller.AmbariManagementController;
 import org.apache.ambari.server.controller.StackServiceRequest;
 import org.apache.ambari.server.controller.StackServiceResponse;
-import org.apache.ambari.server.controller.spi.NoSuchParentResourceException;
-import org.apache.ambari.server.controller.spi.NoSuchResourceException;
-import org.apache.ambari.server.controller.spi.Predicate;
-import org.apache.ambari.server.controller.spi.Request;
-import org.apache.ambari.server.controller.spi.Resource;
+import org.apache.ambari.server.controller.spi.*;
 import org.apache.ambari.server.controller.spi.Resource.Type;
-import org.apache.ambari.server.controller.spi.SystemException;
-import org.apache.ambari.server.controller.spi.UnsupportedPropertyException;
 import org.apache.ambari.server.controller.utilities.PropertyHelper;
 
+import java.util.*;
+
 public class StackServiceResourceProvider extends ReadOnlyResourceProvider {
 
   protected static final String SERVICE_NAME_PROPERTY_ID = 
PropertyHelper.getPropertyId(
@@ -50,6 +40,9 @@ public class StackServiceResourceProvider extends 
ReadOnlyResourceProvider {
   public static final String STACK_VERSION_PROPERTY_ID = 
PropertyHelper.getPropertyId(
       "StackServices", "stack_version");
 
+  private static final String SERVICE_DISPLAY_NAME_PROPERTY_ID = 
PropertyHelper.getPropertyId(
+      "StackServices", "display_name");
+
   private static final String USER_NAME_PROPERTY_ID = 
PropertyHelper.getPropertyId(
       "StackServices", "user_name");
 
@@ -119,6 +112,9 @@ public class StackServiceResourceProvider extends 
ReadOnlyResourceProvider {
       setResourceProperty(resource, SERVICE_NAME_PROPERTY_ID,
           response.getServiceName(), requestedIds);
 
+      setResourceProperty(resource, SERVICE_DISPLAY_NAME_PROPERTY_ID,
+              response.getServiceDisplayName(), requestedIds);
+
       setResourceProperty(resource, USER_NAME_PROPERTY_ID,
           response.getUserName(), requestedIds);
 

http://git-wip-us.apache.org/repos/asf/ambari/blob/02ee3d44/ambari-server/src/main/java/org/apache/ambari/server/state/ComponentInfo.java
----------------------------------------------------------------------
diff --git 
a/ambari-server/src/main/java/org/apache/ambari/server/state/ComponentInfo.java 
b/ambari-server/src/main/java/org/apache/ambari/server/state/ComponentInfo.java
index 172b1ea..a23b3c3 100644
--- 
a/ambari-server/src/main/java/org/apache/ambari/server/state/ComponentInfo.java
+++ 
b/ambari-server/src/main/java/org/apache/ambari/server/state/ComponentInfo.java
@@ -18,18 +18,18 @@
 
 package org.apache.ambari.server.state;
 
-import java.util.ArrayList;
-import java.util.List;
-
 import javax.xml.bind.annotation.XmlAccessType;
 import javax.xml.bind.annotation.XmlAccessorType;
 import javax.xml.bind.annotation.XmlElement;
 import javax.xml.bind.annotation.XmlElementWrapper;
 import javax.xml.bind.annotation.XmlElements;
+import java.util.ArrayList;
+import java.util.List;
 
 @XmlAccessorType(XmlAccessType.FIELD)
 public class ComponentInfo {
   private String name;
+  private String displayName;
   private String category;
   private boolean deleted;
   private String cardinality;
@@ -95,6 +95,14 @@ public class ComponentInfo {
     this.name = name;
   }
 
+  public String getDisplayName() {
+    return displayName;
+  }
+
+  public void setDisplayName(String displayName) {
+    this.displayName = displayName;
+  }
+
   public String getCategory() {
     return category;
   }

http://git-wip-us.apache.org/repos/asf/ambari/blob/02ee3d44/ambari-server/src/main/java/org/apache/ambari/server/state/ServiceInfo.java
----------------------------------------------------------------------
diff --git 
a/ambari-server/src/main/java/org/apache/ambari/server/state/ServiceInfo.java 
b/ambari-server/src/main/java/org/apache/ambari/server/state/ServiceInfo.java
index fe2c5f3..de70620 100644
--- 
a/ambari-server/src/main/java/org/apache/ambari/server/state/ServiceInfo.java
+++ 
b/ambari-server/src/main/java/org/apache/ambari/server/state/ServiceInfo.java
@@ -52,6 +52,7 @@ public class ServiceInfo {
   private String schemaVersion;
 
   private String name;
+  private String displayName;
   private String version;
   private String comment;
   private List<PropertyInfo> properties;
@@ -163,6 +164,14 @@ public class ServiceInfo {
     this.name = name;
   }
 
+  public String getDisplayName() {
+    return displayName;
+  }
+
+  public void setDisplayName(String displayName) {
+    this.displayName = displayName;
+  }
+
   public String getVersion() {
     return version;
   }

http://git-wip-us.apache.org/repos/asf/ambari/blob/02ee3d44/ambari-server/src/main/resources/properties.json
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/properties.json 
b/ambari-server/src/main/resources/properties.json
index bc2ad22..5777935 100644
--- a/ambari-server/src/main/resources/properties.json
+++ b/ambari-server/src/main/resources/properties.json
@@ -226,6 +226,7 @@
         "StackServices/stack_name",
         "StackServices/stack_version",
         "StackServices/service_name",
+        "StackServices/display_name",
         "StackServices/user_name",
         "StackServices/comments",
         "StackServices/service_version",
@@ -251,6 +252,7 @@
         "StackServiceComponents/stack_version",
         "StackServiceComponents/service_name",
         "StackServiceComponents/component_name",
+        "StackServiceComponents/display_name",
         "StackServiceComponents/component_category",
         "StackServiceComponents/is_client",
         "StackServiceComponents/is_master",

http://git-wip-us.apache.org/repos/asf/ambari/blob/02ee3d44/ambari-server/src/main/resources/stacks/HDP/1.3.2/services/GANGLIA/metainfo.xml
----------------------------------------------------------------------
diff --git 
a/ambari-server/src/main/resources/stacks/HDP/1.3.2/services/GANGLIA/metainfo.xml
 
b/ambari-server/src/main/resources/stacks/HDP/1.3.2/services/GANGLIA/metainfo.xml
index dc3ac6a..2003145 100644
--- 
a/ambari-server/src/main/resources/stacks/HDP/1.3.2/services/GANGLIA/metainfo.xml
+++ 
b/ambari-server/src/main/resources/stacks/HDP/1.3.2/services/GANGLIA/metainfo.xml
@@ -20,11 +20,13 @@
   <services>
     <service>
       <name>GANGLIA</name>
+      <displayName>Ganglia</displayName>
       <comment>Ganglia Metrics Collection system (&lt;a 
href=&quot;http://oss.oetiker.ch/rrdtool/&quot; 
target=&quot;_blank&quot;&gt;RRDTool&lt;/a&gt; will be installed too)</comment>
       <version>3.5.0</version>
       <components>
         <component>
           <name>GANGLIA_SERVER</name>
+          <displayName>Ganglia Server</displayName>
           <category>MASTER</category>
           <cardinality>1</cardinality>
           <commandScript>
@@ -36,6 +38,7 @@
 
         <component>
           <name>GANGLIA_MONITOR</name>
+          <displayName>Ganglia Monitor</displayName>
           <category>SLAVE</category>
           <cardinality>ALL</cardinality>
           <auto-deploy>

http://git-wip-us.apache.org/repos/asf/ambari/blob/02ee3d44/ambari-server/src/main/resources/stacks/HDP/1.3.2/services/HBASE/metainfo.xml
----------------------------------------------------------------------
diff --git 
a/ambari-server/src/main/resources/stacks/HDP/1.3.2/services/HBASE/metainfo.xml 
b/ambari-server/src/main/resources/stacks/HDP/1.3.2/services/HBASE/metainfo.xml
index fa53125..f209475 100644
--- 
a/ambari-server/src/main/resources/stacks/HDP/1.3.2/services/HBASE/metainfo.xml
+++ 
b/ambari-server/src/main/resources/stacks/HDP/1.3.2/services/HBASE/metainfo.xml
@@ -20,6 +20,7 @@
   <services>
     <service>
       <name>HBASE</name>
+      <displayName>HBase</displayName>
       <comment>Non-relational distributed database and centralized service for 
configuration management &amp;
         synchronization
       </comment>
@@ -27,6 +28,7 @@
       <components>
         <component>
           <name>HBASE_MASTER</name>
+          <displayName>HBase Master</displayName>
           <category>MASTER</category>
           <cardinality>1+</cardinality>
           <dependencies>
@@ -65,6 +67,7 @@
 
         <component>
           <name>HBASE_REGIONSERVER</name>
+          <displayName>RegionServer</displayName>
           <category>SLAVE</category>
           <cardinality>1+</cardinality>
           <commandScript>
@@ -85,6 +88,7 @@
 
         <component>
           <name>HBASE_CLIENT</name>
+          <displayName>HBase Client</displayName>
           <category>CLIENT</category>
           <cardinality>1+</cardinality>
           <commandScript>

http://git-wip-us.apache.org/repos/asf/ambari/blob/02ee3d44/ambari-server/src/main/resources/stacks/HDP/1.3.2/services/HDFS/metainfo.xml
----------------------------------------------------------------------
diff --git 
a/ambari-server/src/main/resources/stacks/HDP/1.3.2/services/HDFS/metainfo.xml 
b/ambari-server/src/main/resources/stacks/HDP/1.3.2/services/HDFS/metainfo.xml
index c453905..7112c31 100644
--- 
a/ambari-server/src/main/resources/stacks/HDP/1.3.2/services/HDFS/metainfo.xml
+++ 
b/ambari-server/src/main/resources/stacks/HDP/1.3.2/services/HDFS/metainfo.xml
@@ -20,12 +20,14 @@
   <services>
     <service>
       <name>HDFS</name>
+      <displayName>HDFS</displayName>
       <comment>Apache Hadoop Distributed File System</comment>
       <version>1.2.0.1.3.3.0</version>
 
       <components>
         <component>
           <name>NAMENODE</name>
+          <displayName>NameNode</displayName>
           <category>MASTER</category>
           <cardinality>1-2</cardinality>
           <commandScript>
@@ -47,6 +49,7 @@
 
         <component>
           <name>DATANODE</name>
+          <displayName>DataNode</displayName>
           <category>SLAVE</category>
           <cardinality>1+</cardinality>
           <commandScript>
@@ -58,6 +61,7 @@
 
         <component>
           <name>SECONDARY_NAMENODE</name>
+          <displayName>SNameNode</displayName>
           <category>MASTER</category>
           <cardinality>1</cardinality>
           <commandScript>
@@ -69,6 +73,7 @@
 
         <component>
           <name>HDFS_CLIENT</name>
+          <displayName>HDFS Client</displayName>
           <category>CLIENT</category>
           <cardinality>1+</cardinality>
           <commandScript>

http://git-wip-us.apache.org/repos/asf/ambari/blob/02ee3d44/ambari-server/src/main/resources/stacks/HDP/1.3.2/services/HIVE/metainfo.xml
----------------------------------------------------------------------
diff --git 
a/ambari-server/src/main/resources/stacks/HDP/1.3.2/services/HIVE/metainfo.xml 
b/ambari-server/src/main/resources/stacks/HDP/1.3.2/services/HIVE/metainfo.xml
index d5dc506..2c58c44 100644
--- 
a/ambari-server/src/main/resources/stacks/HDP/1.3.2/services/HIVE/metainfo.xml
+++ 
b/ambari-server/src/main/resources/stacks/HDP/1.3.2/services/HIVE/metainfo.xml
@@ -20,12 +20,14 @@
   <services>
     <service>
       <name>HIVE</name>
+      <displayName>Hive</displayName>
       <comment>Data warehouse system for ad-hoc queries &amp; analysis of 
large datasets and table &amp; storage management service</comment>
       <version>0.11.0.1.3.3.0</version>
       <components>
 
         <component>
           <name>HIVE_METASTORE</name>
+          <displayName>Hive Metastore</displayName>
           <category>MASTER</category>
           <cardinality>1</cardinality>
           <auto-deploy>
@@ -41,6 +43,7 @@
 
         <component>
           <name>HIVE_SERVER</name>
+          <displayName>HiveServer2</displayName>
           <category>MASTER</category>
           <cardinality>1</cardinality>
           <dependencies>
@@ -68,6 +71,7 @@
 
         <component>
           <name>MYSQL_SERVER</name>
+          <displayName>MySQL Server</displayName>
           <category>MASTER</category>
           <cardinality>0-1</cardinality>
           <commandScript>
@@ -78,6 +82,7 @@
 
         <component>
           <name>HIVE_CLIENT</name>
+          <displayName>Hive Client</displayName>
           <category>CLIENT</category>
           <cardinality>1+</cardinality>
           <commandScript>
@@ -163,11 +168,15 @@
 
     <service>
       <name>HCATALOG</name>
-      <comment>This is comment for HCATALOG service</comment>
+      <displayName>HCatalog</displayName>
+      <comment>A table and storage management layer for Hadoop that enables 
users with different data processing tools
+        to more easily read and write data on the grid.
+      </comment>
       <version>0.11.0.1.3.3.0</version>
       <components>
         <component>
           <name>HCAT</name>
+          <displayName>HCat</displayName>
           <category>CLIENT</category>
           <commandScript>
             <script>scripts/hcat_client.py</script>

http://git-wip-us.apache.org/repos/asf/ambari/blob/02ee3d44/ambari-server/src/main/resources/stacks/HDP/1.3.2/services/MAPREDUCE/metainfo.xml
----------------------------------------------------------------------
diff --git 
a/ambari-server/src/main/resources/stacks/HDP/1.3.2/services/MAPREDUCE/metainfo.xml
 
b/ambari-server/src/main/resources/stacks/HDP/1.3.2/services/MAPREDUCE/metainfo.xml
index 7ab788a..facdc07 100644
--- 
a/ambari-server/src/main/resources/stacks/HDP/1.3.2/services/MAPREDUCE/metainfo.xml
+++ 
b/ambari-server/src/main/resources/stacks/HDP/1.3.2/services/MAPREDUCE/metainfo.xml
@@ -21,11 +21,13 @@
   <services>
     <service>
       <name>MAPREDUCE</name>
+      <displayName>MapReduce</displayName>
       <comment>Apache Hadoop Distributed Processing Framework</comment>
       <version>1.2.0.1.3.3.0</version>
       <components>
         <component>
           <name>JOBTRACKER</name>
+          <displayName>JobTracker</displayName>
           <category>MASTER</category>
           <cardinality>1</cardinality>
           <commandScript>
@@ -47,6 +49,7 @@
 
         <component>
           <name>TASKTRACKER</name>
+          <displayName>TaskTracker</displayName>
           <category>SLAVE</category>
           <cardinality>1+</cardinality>
           <commandScript>
@@ -58,6 +61,7 @@
 
         <component>
           <name>MAPREDUCE_CLIENT</name>
+          <displayName>MapReduce Client</displayName>
           <category>CLIENT</category>
           <cardinality>1+</cardinality>
           <commandScript>
@@ -91,6 +95,7 @@
               
         <component>
           <name>HISTORYSERVER</name>
+          <displayName>History Server</displayName>
           <category>MASTER</category>
           <cardinality>1</cardinality>
           <auto-deploy>

http://git-wip-us.apache.org/repos/asf/ambari/blob/02ee3d44/ambari-server/src/main/resources/stacks/HDP/1.3.2/services/NAGIOS/metainfo.xml
----------------------------------------------------------------------
diff --git 
a/ambari-server/src/main/resources/stacks/HDP/1.3.2/services/NAGIOS/metainfo.xml
 
b/ambari-server/src/main/resources/stacks/HDP/1.3.2/services/NAGIOS/metainfo.xml
index 79fecbc..c926429 100644
--- 
a/ambari-server/src/main/resources/stacks/HDP/1.3.2/services/NAGIOS/metainfo.xml
+++ 
b/ambari-server/src/main/resources/stacks/HDP/1.3.2/services/NAGIOS/metainfo.xml
@@ -20,11 +20,13 @@
   <services>
     <service>
       <name>NAGIOS</name>
+      <displayName>Nagios</displayName>
       <comment>Nagios Monitoring and Alerting system</comment>
       <version>3.5.0</version>
       <components>
         <component>
           <name>NAGIOS_SERVER</name>
+          <displayName>Nagios Server</displayName>
           <category>MASTER</category>
           <cardinality>1</cardinality>
           <dependencies>

http://git-wip-us.apache.org/repos/asf/ambari/blob/02ee3d44/ambari-server/src/main/resources/stacks/HDP/1.3.2/services/OOZIE/metainfo.xml
----------------------------------------------------------------------
diff --git 
a/ambari-server/src/main/resources/stacks/HDP/1.3.2/services/OOZIE/metainfo.xml 
b/ambari-server/src/main/resources/stacks/HDP/1.3.2/services/OOZIE/metainfo.xml
index fb8397e..cc86c8e 100644
--- 
a/ambari-server/src/main/resources/stacks/HDP/1.3.2/services/OOZIE/metainfo.xml
+++ 
b/ambari-server/src/main/resources/stacks/HDP/1.3.2/services/OOZIE/metainfo.xml
@@ -20,12 +20,14 @@
   <services>
     <service>
       <name>OOZIE</name>
+      <displayName>Oozie</displayName>
       <comment>System for workflow coordination and execution of Apache Hadoop 
jobs.  This also includes the installation of the optional Oozie Web Console 
which relies on and will install the &lt;a target="_blank" 
href="http://www.sencha.com/legal/open-source-faq/"&gt;ExtJS&lt;/a&gt; Library.
       </comment>
       <version>3.3.2.1.3.3.0</version>
       <components>
         <component>
           <name>OOZIE_SERVER</name>
+          <displayName>Oozie Server</displayName>
           <category>MASTER</category>
           <cardinality>1</cardinality>
           <dependencies>
@@ -53,6 +55,7 @@
 
         <component>
           <name>OOZIE_CLIENT</name>
+          <displayName>Oozie Client</displayName>
           <category>CLIENT</category>
           <cardinality>1+</cardinality>
           <dependencies>

http://git-wip-us.apache.org/repos/asf/ambari/blob/02ee3d44/ambari-server/src/main/resources/stacks/HDP/1.3.2/services/PIG/metainfo.xml
----------------------------------------------------------------------
diff --git 
a/ambari-server/src/main/resources/stacks/HDP/1.3.2/services/PIG/metainfo.xml 
b/ambari-server/src/main/resources/stacks/HDP/1.3.2/services/PIG/metainfo.xml
index bbc078f..8e87a50 100644
--- 
a/ambari-server/src/main/resources/stacks/HDP/1.3.2/services/PIG/metainfo.xml
+++ 
b/ambari-server/src/main/resources/stacks/HDP/1.3.2/services/PIG/metainfo.xml
@@ -20,11 +20,13 @@
   <services>
     <service>
       <name>PIG</name>
+      <displayName>Pig</displayName>
       <comment>Scripting platform for analyzing large datasets</comment>
       <version>0.11.1.1.3.3.0</version>
       <components>
         <component>
           <name>PIG</name>
+          <displayName>Pig</displayName>
           <category>CLIENT</category>
           <cardinality>1+</cardinality>
           <commandScript>

http://git-wip-us.apache.org/repos/asf/ambari/blob/02ee3d44/ambari-server/src/main/resources/stacks/HDP/1.3.2/services/SQOOP/metainfo.xml
----------------------------------------------------------------------
diff --git 
a/ambari-server/src/main/resources/stacks/HDP/1.3.2/services/SQOOP/metainfo.xml 
b/ambari-server/src/main/resources/stacks/HDP/1.3.2/services/SQOOP/metainfo.xml
index 1c25945..42e0bf8 100644
--- 
a/ambari-server/src/main/resources/stacks/HDP/1.3.2/services/SQOOP/metainfo.xml
+++ 
b/ambari-server/src/main/resources/stacks/HDP/1.3.2/services/SQOOP/metainfo.xml
@@ -20,6 +20,7 @@
   <services>
     <service>
       <name>SQOOP</name>
+      <displayName>Sqoop</displayName>
       <comment>Tool for transferring bulk data between Apache Hadoop and
         structured data stores such as relational databases
       </comment>
@@ -28,6 +29,7 @@
       <components>
         <component>
           <name>SQOOP</name>
+          <displayName>Pig</displayName>
           <category>CLIENT</category>
           <cardinality>1+</cardinality>
           <dependencies>

http://git-wip-us.apache.org/repos/asf/ambari/blob/02ee3d44/ambari-server/src/main/resources/stacks/HDP/1.3.2/services/WEBHCAT/metainfo.xml
----------------------------------------------------------------------
diff --git 
a/ambari-server/src/main/resources/stacks/HDP/1.3.2/services/WEBHCAT/metainfo.xml
 
b/ambari-server/src/main/resources/stacks/HDP/1.3.2/services/WEBHCAT/metainfo.xml
index 642f5d0..b115c28 100644
--- 
a/ambari-server/src/main/resources/stacks/HDP/1.3.2/services/WEBHCAT/metainfo.xml
+++ 
b/ambari-server/src/main/resources/stacks/HDP/1.3.2/services/WEBHCAT/metainfo.xml
@@ -20,11 +20,13 @@
   <services>
     <service>
       <name>WEBHCAT</name>
-      <comment>This is comment for WEBHCAT service</comment>
+      <displayName>WebHCat</displayName>
+      <comment>Provides a REST-like web API for HCatalog and related Hadoop 
components.</comment>
       <version>0.11.0.1.3.3.0</version>
       <components>
         <component>
           <name>WEBHCAT_SERVER</name>
+          <displayName>WebHCat Server</displayName>
           <category>MASTER</category>
           <cardinality>1</cardinality>
           <dependencies>

http://git-wip-us.apache.org/repos/asf/ambari/blob/02ee3d44/ambari-server/src/main/resources/stacks/HDP/1.3.2/services/ZOOKEEPER/metainfo.xml
----------------------------------------------------------------------
diff --git 
a/ambari-server/src/main/resources/stacks/HDP/1.3.2/services/ZOOKEEPER/metainfo.xml
 
b/ambari-server/src/main/resources/stacks/HDP/1.3.2/services/ZOOKEEPER/metainfo.xml
index 3db40c1..4cdb1c8 100644
--- 
a/ambari-server/src/main/resources/stacks/HDP/1.3.2/services/ZOOKEEPER/metainfo.xml
+++ 
b/ambari-server/src/main/resources/stacks/HDP/1.3.2/services/ZOOKEEPER/metainfo.xml
@@ -20,12 +20,14 @@
   <services>
     <service>
       <name>ZOOKEEPER</name>
+      <displayName>ZooKeeper</displayName>
       <comment>Centralized service which provides highly reliable distributed 
coordination</comment>
       <version>3.4.5.1.3.3.0</version>
       <components>
 
         <component>
           <name>ZOOKEEPER_SERVER</name>
+          <displayName>ZooKeeper Server</displayName>
           <category>MASTER</category>
           <cardinality>1+</cardinality>
           <commandScript>
@@ -37,6 +39,7 @@
 
         <component>
           <name>ZOOKEEPER_CLIENT</name>
+          <displayName>ZooKeeper Client</displayName>
           <category>CLIENT</category>
           <cardinality>1+</cardinality>
           <commandScript>

http://git-wip-us.apache.org/repos/asf/ambari/blob/02ee3d44/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/FLUME/metainfo.xml
----------------------------------------------------------------------
diff --git 
a/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/FLUME/metainfo.xml 
b/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/FLUME/metainfo.xml
index 5b73548..4f6bbd9 100644
--- 
a/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/FLUME/metainfo.xml
+++ 
b/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/FLUME/metainfo.xml
@@ -20,11 +20,13 @@
   <services>
     <service>
       <name>FLUME</name>
+      <displayName>Flume</displayName>
       <comment>Data management and processing platform</comment>
       <version>1.4.0.2.0</version>
       <components>
         <component>
           <name>FLUME_HANDLER</name>
+          <displayName>Flume</displayName>
           <category>SLAVE</category>
           <cardinality>1+</cardinality>
           <commandScript>

http://git-wip-us.apache.org/repos/asf/ambari/blob/02ee3d44/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/GANGLIA/metainfo.xml
----------------------------------------------------------------------
diff --git 
a/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/GANGLIA/metainfo.xml
 
b/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/GANGLIA/metainfo.xml
index cfbfeab..d481db3 100644
--- 
a/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/GANGLIA/metainfo.xml
+++ 
b/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/GANGLIA/metainfo.xml
@@ -20,11 +20,13 @@
   <services>
     <service>
       <name>GANGLIA</name>
+      <displayName>Ganglia</displayName>
       <comment>Ganglia Metrics Collection system (&lt;a 
href=&quot;http://oss.oetiker.ch/rrdtool/&quot; 
target=&quot;_blank&quot;&gt;RRDTool&lt;/a&gt; will be installed too)</comment>
       <version>3.5.0</version>
       <components>
         <component>
           <name>GANGLIA_SERVER</name>
+          <displayName>Ganglia Server</displayName>
           <category>MASTER</category>
           <cardinality>1</cardinality>
           <commandScript>
@@ -36,6 +38,7 @@
 
         <component>
           <name>GANGLIA_MONITOR</name>
+          <displayName>Ganglia Monitor</displayName>
           <category>SLAVE</category>
           <cardinality>ALL</cardinality>
           <auto-deploy>

http://git-wip-us.apache.org/repos/asf/ambari/blob/02ee3d44/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/HBASE/metainfo.xml
----------------------------------------------------------------------
diff --git 
a/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/HBASE/metainfo.xml 
b/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/HBASE/metainfo.xml
index af6b100..67d4adf 100644
--- 
a/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/HBASE/metainfo.xml
+++ 
b/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/HBASE/metainfo.xml
@@ -20,6 +20,7 @@
   <services>
     <service>
       <name>HBASE</name>
+      <displayName>HBase</displayName>
       <comment>Non-relational distributed database and centralized service for 
configuration management &amp;
         synchronization
       </comment>
@@ -27,6 +28,7 @@
       <components>
         <component>
           <name>HBASE_MASTER</name>
+          <displayName>HBase Master</displayName>
           <category>MASTER</category>
           <cardinality>1+</cardinality>
           <dependencies>
@@ -65,6 +67,7 @@
 
         <component>
           <name>HBASE_REGIONSERVER</name>
+          <displayName>RegionServer</displayName>
           <category>SLAVE</category>
           <cardinality>1+</cardinality>
           <commandScript>
@@ -75,6 +78,7 @@
 
         <component>
           <name>HBASE_CLIENT</name>
+          <displayName>HBase Client</displayName>
           <category>CLIENT</category>
           <cardinality>1+</cardinality>
           <commandScript>

http://git-wip-us.apache.org/repos/asf/ambari/blob/02ee3d44/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/HDFS/metainfo.xml
----------------------------------------------------------------------
diff --git 
a/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/HDFS/metainfo.xml 
b/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/HDFS/metainfo.xml
index 53b9304..57308c0 100644
--- 
a/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/HDFS/metainfo.xml
+++ 
b/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/HDFS/metainfo.xml
@@ -20,12 +20,14 @@
   <services>
     <service>
       <name>HDFS</name>
+      <displayName>HDFS</displayName>
       <comment>Apache Hadoop Distributed File System</comment>
       <version>2.1.0.2.0</version>
 
       <components>
         <component>
           <name>NAMENODE</name>
+          <displayName>NameNode</displayName>
           <category>MASTER</category>
           <cardinality>1-2</cardinality>
           <commandScript>
@@ -55,6 +57,7 @@
 
         <component>
           <name>DATANODE</name>
+          <displayName>DataNode</displayName>
           <category>SLAVE</category>
           <cardinality>1+</cardinality>
           <commandScript>
@@ -66,6 +69,7 @@
 
         <component>
           <name>SECONDARY_NAMENODE</name>
+          <displayName>SNameNode</displayName>
           <!-- TODO:  cardinality is conditional on HA usage -->
           <cardinality>1</cardinality>
           <category>MASTER</category>
@@ -78,6 +82,7 @@
 
         <component>
           <name>HDFS_CLIENT</name>
+          <displayName>HDFS Client</displayName>
           <category>CLIENT</category>
           <cardinality>1+</cardinality>
           <commandScript>
@@ -111,6 +116,7 @@
 
         <component>
           <name>JOURNALNODE</name>
+          <displayName>JournalNode</displayName>
           <category>SLAVE</category>
           <cardinality>0+</cardinality>
           <commandScript>
@@ -122,6 +128,7 @@
 
         <component>
           <name>ZKFC</name>
+          <displayName>ZKFailoverController</displayName>
           <category>SLAVE</category>
           <!-- TODO: cardinality is conditional on HA topology -->
           <cardinality>0+</cardinality>

http://git-wip-us.apache.org/repos/asf/ambari/blob/02ee3d44/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/HIVE/metainfo.xml
----------------------------------------------------------------------
diff --git 
a/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/HIVE/metainfo.xml 
b/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/HIVE/metainfo.xml
index a883e36..d31156e 100644
--- 
a/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/HIVE/metainfo.xml
+++ 
b/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/HIVE/metainfo.xml
@@ -20,12 +20,14 @@
   <services>
     <service>
       <name>HIVE</name>
+      <displayName>Hive</displayName>
       <comment>Data warehouse system for ad-hoc queries &amp; analysis of 
large datasets and table &amp; storage management service</comment>
       <version>0.12.0.2.0</version>
       <components>
 
         <component>
           <name>HIVE_METASTORE</name>
+          <displayName>Hive Metastore</displayName>
           <category>MASTER</category>
           <cardinality>1</cardinality>
           <auto-deploy>
@@ -41,6 +43,7 @@
 
         <component>
           <name>HIVE_SERVER</name>
+          <displayName>HiveServer2</displayName>
           <category>MASTER</category>
           <cardinality>1</cardinality>
           <dependencies>
@@ -75,6 +78,7 @@
 
         <component>
           <name>MYSQL_SERVER</name>
+          <displayName>MySQL Server</displayName>
           <category>MASTER</category>
           <cardinality>0-1</cardinality>
           <commandScript>
@@ -85,6 +89,7 @@
 
         <component>
           <name>HIVE_CLIENT</name>
+          <displayName>Hive Client</displayName>
           <category>CLIENT</category>
           <cardinality>1+</cardinality>
           <commandScript>
@@ -176,11 +181,15 @@
 
     <service>
       <name>HCATALOG</name>
-      <comment>This is comment for HCATALOG service</comment>
+      <displayName>HCatalog</displayName>
+      <comment>A table and storage management layer for Hadoop that enables 
users with different data processing tools
+        to more easily read and write data on the grid.
+      </comment>
       <version>0.12.0.2.0.6.0</version>
       <components>
         <component>
           <name>HCAT</name>
+          <displayName>HCat</displayName>
           <category>CLIENT</category>
           <commandScript>
             <script>scripts/hcat_client.py</script>

http://git-wip-us.apache.org/repos/asf/ambari/blob/02ee3d44/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/NAGIOS/metainfo.xml
----------------------------------------------------------------------
diff --git 
a/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/NAGIOS/metainfo.xml
 
b/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/NAGIOS/metainfo.xml
index 2a642b5..43724c0 100644
--- 
a/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/NAGIOS/metainfo.xml
+++ 
b/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/NAGIOS/metainfo.xml
@@ -20,11 +20,13 @@
   <services>
     <service>
       <name>NAGIOS</name>
+      <displayName>Nagios</displayName>
       <comment>Nagios Monitoring and Alerting system</comment>
       <version>3.5.0</version>
       <components>
         <component>
            <name>NAGIOS_SERVER</name>
+          <displayName>Nagios Server</displayName>
            <category>MASTER</category>
            <cardinality>1</cardinality>
           <dependencies>

http://git-wip-us.apache.org/repos/asf/ambari/blob/02ee3d44/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/OOZIE/metainfo.xml
----------------------------------------------------------------------
diff --git 
a/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/OOZIE/metainfo.xml 
b/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/OOZIE/metainfo.xml
index 093d5d3..444bbcb 100644
--- 
a/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/OOZIE/metainfo.xml
+++ 
b/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/OOZIE/metainfo.xml
@@ -20,12 +20,14 @@
   <services>
     <service>
       <name>OOZIE</name>
+      <displayName>Oozie</displayName>
       <comment>System for workflow coordination and execution of Apache Hadoop 
jobs.  This also includes the installation of the optional Oozie Web Console 
which relies on and will install the &lt;a target="_blank" 
href="http://www.sencha.com/legal/open-source-faq/"&gt;ExtJS&lt;/a&gt; Library.
       </comment>
       <version>4.0.0.2.0</version>
       <components>
         <component>
           <name>OOZIE_SERVER</name>
+          <displayName>Oozie Server</displayName>
           <category>MASTER</category>
           <cardinality>1</cardinality>
           <dependencies>
@@ -60,6 +62,7 @@
 
         <component>
           <name>OOZIE_CLIENT</name>
+          <displayName>Oozie Client</displayName>
           <category>CLIENT</category>
           <cardinality>1+</cardinality>
           <dependencies>

http://git-wip-us.apache.org/repos/asf/ambari/blob/02ee3d44/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/PIG/metainfo.xml
----------------------------------------------------------------------
diff --git 
a/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/PIG/metainfo.xml 
b/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/PIG/metainfo.xml
index 5d9dba5..a41d1f7 100644
--- 
a/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/PIG/metainfo.xml
+++ 
b/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/PIG/metainfo.xml
@@ -20,11 +20,13 @@
   <services>
     <service>
       <name>PIG</name>
+      <displayName>Pig</displayName>
       <comment>Scripting platform for analyzing large datasets</comment>
       <version>0.12.0.2.0</version>
       <components>
         <component>
           <name>PIG</name>
+          <displayName>Pig</displayName>
           <category>CLIENT</category>
           <cardinality>0+</cardinality>
           <commandScript>

http://git-wip-us.apache.org/repos/asf/ambari/blob/02ee3d44/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/SQOOP/metainfo.xml
----------------------------------------------------------------------
diff --git 
a/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/SQOOP/metainfo.xml 
b/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/SQOOP/metainfo.xml
index c8c01f1..1f4a90b 100644
--- 
a/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/SQOOP/metainfo.xml
+++ 
b/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/SQOOP/metainfo.xml
@@ -20,6 +20,7 @@
   <services>
     <service>
       <name>SQOOP</name>
+      <displayName>Sqoop</displayName>
       <comment>Tool for transferring bulk data between Apache Hadoop and
         structured data stores such as relational databases
       </comment>
@@ -28,6 +29,7 @@
       <components>
         <component>
           <name>SQOOP</name>
+          <displayName>Sqoop</displayName>
           <category>CLIENT</category>
           <cardinality>1+</cardinality>
           <dependencies>

http://git-wip-us.apache.org/repos/asf/ambari/blob/02ee3d44/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/WEBHCAT/metainfo.xml
----------------------------------------------------------------------
diff --git 
a/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/WEBHCAT/metainfo.xml
 
b/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/WEBHCAT/metainfo.xml
index 5e93cf4..5f493a6 100644
--- 
a/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/WEBHCAT/metainfo.xml
+++ 
b/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/WEBHCAT/metainfo.xml
@@ -20,11 +20,13 @@
   <services>
     <service>
       <name>WEBHCAT</name>
-      <comment>This is comment for WEBHCAT service</comment>
+      <displayName>WebHCat</displayName>
+      <comment>Provides a REST-like web API for HCatalog and related Hadoop 
components.</comment>
       <version>0.12.0.2.0</version>
       <components>
         <component>
           <name>WEBHCAT_SERVER</name>
+          <displayName>WebHCat Server</displayName>
           <category>MASTER</category>
           <cardinality>1</cardinality>
           <dependencies>

http://git-wip-us.apache.org/repos/asf/ambari/blob/02ee3d44/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/YARN/metainfo.xml
----------------------------------------------------------------------
diff --git 
a/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/YARN/metainfo.xml 
b/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/YARN/metainfo.xml
index e08221a..dd0a780 100644
--- 
a/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/YARN/metainfo.xml
+++ 
b/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/YARN/metainfo.xml
@@ -21,12 +21,14 @@
   <services>
     <service>
       <name>YARN</name>
+      <displayName>YARN</displayName>
       <comment>Apache Hadoop NextGen MapReduce (YARN)</comment>
       <version>2.1.0.2.0</version>
       <components>
 
         <component>
           <name>RESOURCEMANAGER</name>
+          <displayName>ResourceManager</displayName>
           <category>MASTER</category>
           <cardinality>1-2</cardinality>
           <commandScript>
@@ -59,6 +61,7 @@
 
         <component>
           <name>NODEMANAGER</name>
+          <displayName>NodeManager</displayName>
           <category>SLAVE</category>
           <cardinality>1+</cardinality>
           <commandScript>
@@ -70,6 +73,7 @@
 
         <component>
           <name>YARN_CLIENT</name>
+          <displayName>Yarn Client</displayName>
           <category>CLIENT</category>
           <cardinality>1+</cardinality>
           <commandScript>
@@ -143,11 +147,13 @@
 
     <service>
       <name>MAPREDUCE2</name>
+      <displayName>MapReduce2</displayName>
       <comment>Apache Hadoop NextGen MapReduce (YARN)</comment>
       <version>2.1.0.2.0.6.0</version>
       <components>
         <component>
           <name>HISTORYSERVER</name>
+          <displayName>History Server</displayName>
           <category>MASTER</category>
           <cardinality>1</cardinality>
           <auto-deploy>
@@ -172,6 +178,7 @@
 
         <component>
           <name>MAPREDUCE2_CLIENT</name>
+          <displayName>MapReduce2 Client</displayName>
           <category>CLIENT</category>
           <cardinality>0+</cardinality>
           <commandScript>

http://git-wip-us.apache.org/repos/asf/ambari/blob/02ee3d44/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/ZOOKEEPER/metainfo.xml
----------------------------------------------------------------------
diff --git 
a/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/ZOOKEEPER/metainfo.xml
 
b/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/ZOOKEEPER/metainfo.xml
index a259351..66713a0 100644
--- 
a/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/ZOOKEEPER/metainfo.xml
+++ 
b/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/ZOOKEEPER/metainfo.xml
@@ -20,12 +20,14 @@
   <services>
     <service>
       <name>ZOOKEEPER</name>
+      <displayName>ZooKeeper</displayName>
       <comment>Centralized service which provides highly reliable distributed 
coordination</comment>
       <version>3.4.5.2.0</version>
       <components>
 
         <component>
           <name>ZOOKEEPER_SERVER</name>
+          <displayName>ZooKeeper Server</displayName>
           <category>MASTER</category>
           <cardinality>1+</cardinality>
           <commandScript>

http://git-wip-us.apache.org/repos/asf/ambari/blob/02ee3d44/ambari-server/src/main/resources/stacks/HDP/2.1/services/FALCON/metainfo.xml
----------------------------------------------------------------------
diff --git 
a/ambari-server/src/main/resources/stacks/HDP/2.1/services/FALCON/metainfo.xml 
b/ambari-server/src/main/resources/stacks/HDP/2.1/services/FALCON/metainfo.xml
index c16893e..e8af69d 100644
--- 
a/ambari-server/src/main/resources/stacks/HDP/2.1/services/FALCON/metainfo.xml
+++ 
b/ambari-server/src/main/resources/stacks/HDP/2.1/services/FALCON/metainfo.xml
@@ -20,11 +20,13 @@
   <services>
     <service>
       <name>FALCON</name>
+      <displayName>Falcon</displayName>
       <comment>Data management and processing platform</comment>
       <version>0.5.0.2.1</version>
       <components>
         <component>
           <name>FALCON_CLIENT</name>
+          <displayName>Falcon Client</displayName>
           <category>CLIENT</category>
           <cardinality>1+</cardinality>
           <commandScript>
@@ -42,6 +44,7 @@
         </component>
         <component>
           <name>FALCON_SERVER</name>
+          <displayName>Falcon Server</displayName>
           <category>MASTER</category>
           <cardinality>1</cardinality>
           <dependencies>

http://git-wip-us.apache.org/repos/asf/ambari/blob/02ee3d44/ambari-server/src/main/resources/stacks/HDP/2.1/services/STORM/metainfo.xml
----------------------------------------------------------------------
diff --git 
a/ambari-server/src/main/resources/stacks/HDP/2.1/services/STORM/metainfo.xml 
b/ambari-server/src/main/resources/stacks/HDP/2.1/services/STORM/metainfo.xml
index 1f15f8f..f2c391c 100644
--- 
a/ambari-server/src/main/resources/stacks/HDP/2.1/services/STORM/metainfo.xml
+++ 
b/ambari-server/src/main/resources/stacks/HDP/2.1/services/STORM/metainfo.xml
@@ -21,12 +21,14 @@
   <services>
     <service>
       <name>STORM</name>
+      <displayName>Storm</displayName>
       <comment>Apache Hadoop Stream processing framework</comment>
       <version>0.9.1.2.1</version>
       <components>
 
         <component>
           <name>NIMBUS</name>
+          <displayName>Nimbus</displayName>
           <category>MASTER</category>
           <cardinality>1</cardinality>
           <dependencies>
@@ -47,6 +49,7 @@
 
         <component>
           <name>STORM_REST_API</name>
+          <displayName>Storm REST API Server</displayName>
           <category>MASTER</category>
           <cardinality>1</cardinality>
           <commandScript>
@@ -58,6 +61,7 @@
 
         <component>
           <name>SUPERVISOR</name>
+          <displayName>Supervisor</displayName>
           <category>SLAVE</category>
           <cardinality>1+</cardinality>
           <commandScript>
@@ -69,6 +73,7 @@
 
         <component>
           <name>STORM_UI_SERVER</name>
+          <displayName>Storm UI Server</displayName>
           <category>MASTER</category>
           <cardinality>1</cardinality>
           <commandScript>
@@ -80,6 +85,7 @@
 
         <component>
           <name>DRPC_SERVER</name>
+          <displayName>DRPC Server</displayName>
           <category>MASTER</category>
           <cardinality>1</cardinality>
           <commandScript>

http://git-wip-us.apache.org/repos/asf/ambari/blob/02ee3d44/ambari-server/src/main/resources/stacks/HDP/2.1/services/TEZ/metainfo.xml
----------------------------------------------------------------------
diff --git 
a/ambari-server/src/main/resources/stacks/HDP/2.1/services/TEZ/metainfo.xml 
b/ambari-server/src/main/resources/stacks/HDP/2.1/services/TEZ/metainfo.xml
index 177d538..641de86 100644
--- a/ambari-server/src/main/resources/stacks/HDP/2.1/services/TEZ/metainfo.xml
+++ b/ambari-server/src/main/resources/stacks/HDP/2.1/services/TEZ/metainfo.xml
@@ -20,11 +20,13 @@
   <services>
     <service>
       <name>TEZ</name>
+      <displayName>Tez</displayName>
       <comment>Tez is the next generation Hadoop Query Processing framework 
written on top of YARN.</comment>
       <version>0.4.0.2.1</version>
       <components>
         <component>
           <name>TEZ_CLIENT</name>
+          <displayName>Tez Client</displayName>
           <cardinality>1+</cardinality>
           <category>CLIENT</category>
           <commandScript>

http://git-wip-us.apache.org/repos/asf/ambari/blob/02ee3d44/ambari-server/src/main/resources/stacks/HDP/2.1/services/YARN/metainfo.xml
----------------------------------------------------------------------
diff --git 
a/ambari-server/src/main/resources/stacks/HDP/2.1/services/YARN/metainfo.xml 
b/ambari-server/src/main/resources/stacks/HDP/2.1/services/YARN/metainfo.xml
index 424f363..0bbf30b 100644
--- a/ambari-server/src/main/resources/stacks/HDP/2.1/services/YARN/metainfo.xml
+++ b/ambari-server/src/main/resources/stacks/HDP/2.1/services/YARN/metainfo.xml
@@ -21,12 +21,14 @@
   <services>
     <service>
       <name>YARN</name>
+      <displayName>YARN</displayName>
       <comment>Apache Hadoop NextGen MapReduce (YARN)</comment>
       <version>2.4.0.2.1</version>
       <components>
 
         <component>
           <name>APP_TIMELINE_SERVER</name>
+          <displayName>App Timeline Server</displayName>
           <category>MASTER</category>
           <cardinality>0-1</cardinality>
           <commandScript>

http://git-wip-us.apache.org/repos/asf/ambari/blob/02ee3d44/ambari-server/src/test/java/org/apache/ambari/server/api/util/StackExtensionHelperTest.java
----------------------------------------------------------------------
diff --git 
a/ambari-server/src/test/java/org/apache/ambari/server/api/util/StackExtensionHelperTest.java
 
b/ambari-server/src/test/java/org/apache/ambari/server/api/util/StackExtensionHelperTest.java
index 2c5aa0a..3a62147 100644
--- 
a/ambari-server/src/test/java/org/apache/ambari/server/api/util/StackExtensionHelperTest.java
+++ 
b/ambari-server/src/test/java/org/apache/ambari/server/api/util/StackExtensionHelperTest.java
@@ -81,12 +81,14 @@ public class StackExtensionHelperTest {
       if (serviceInfo.getName().equals("HIVE")) {
         // Check old-style service
         assertEquals("HIVE", serviceInfo.getName());
+        assertEquals("Hive", serviceInfo.getDisplayName());
         assertEquals("2.0", serviceInfo.getSchemaVersion());
         assertTrue(serviceInfo.getComment().startsWith("Data warehouse 
system"));
         assertEquals("0.11.0.2.0.5.0", serviceInfo.getVersion());
         // Check some component definitions
         List<ComponentInfo> components = serviceInfo.getComponents();
         assertEquals("HIVE_METASTORE", components.get(0).getName());
+        assertEquals("Hive Metastore", components.get(0).getDisplayName());
         assertEquals("MASTER", components.get(0).getCategory());
         List<PropertyInfo> properties = serviceInfo.getProperties();
         // Check some property

http://git-wip-us.apache.org/repos/asf/ambari/blob/02ee3d44/ambari-server/src/test/resources/stacks/HDP/2.0.6/services/NAGIOS/metainfo.xml
----------------------------------------------------------------------
diff --git 
a/ambari-server/src/test/resources/stacks/HDP/2.0.6/services/NAGIOS/metainfo.xml
 
b/ambari-server/src/test/resources/stacks/HDP/2.0.6/services/NAGIOS/metainfo.xml
index 3751280..958eb14 100644
--- 
a/ambari-server/src/test/resources/stacks/HDP/2.0.6/services/NAGIOS/metainfo.xml
+++ 
b/ambari-server/src/test/resources/stacks/HDP/2.0.6/services/NAGIOS/metainfo.xml
@@ -20,11 +20,13 @@
   <services>
     <service>
       <name>NAGIOS</name>
+      <displayName>Nagios</displayName>
       <comment>Nagios Monitoring and Alerting system</comment>
       <version>3.5.0</version>
       <components>
         <component>
            <name>NAGIOS_SERVER</name>
+           <displayName>Nagios Server</displayName>
            <category>MASTER</category>
            <cardinality>1</cardinality>
           <dependencies>

http://git-wip-us.apache.org/repos/asf/ambari/blob/02ee3d44/ambari-server/src/test/resources/stacks/HDP/2.0.6/services/WEBHCAT/metainfo.xml
----------------------------------------------------------------------
diff --git 
a/ambari-server/src/test/resources/stacks/HDP/2.0.6/services/WEBHCAT/metainfo.xml
 
b/ambari-server/src/test/resources/stacks/HDP/2.0.6/services/WEBHCAT/metainfo.xml
index 13a4d5b..d73e67e 100644
--- 
a/ambari-server/src/test/resources/stacks/HDP/2.0.6/services/WEBHCAT/metainfo.xml
+++ 
b/ambari-server/src/test/resources/stacks/HDP/2.0.6/services/WEBHCAT/metainfo.xml
@@ -20,6 +20,7 @@
   <services>
     <service>
       <name>WEBHCAT</name>
+      <displayName>WebHCat</displayName>
       <comment>This is comment for WEBHCAT service</comment>
       <version>0.11.0.2.0.5.0</version>
     </service>

http://git-wip-us.apache.org/repos/asf/ambari/blob/02ee3d44/ambari-server/src/test/resources/stacks/HDP/2.0.6/services/YARN/metainfo.xml
----------------------------------------------------------------------
diff --git 
a/ambari-server/src/test/resources/stacks/HDP/2.0.6/services/YARN/metainfo.xml 
b/ambari-server/src/test/resources/stacks/HDP/2.0.6/services/YARN/metainfo.xml
index 78e31cc..01e93c2 100644
--- 
a/ambari-server/src/test/resources/stacks/HDP/2.0.6/services/YARN/metainfo.xml
+++ 
b/ambari-server/src/test/resources/stacks/HDP/2.0.6/services/YARN/metainfo.xml
@@ -21,12 +21,14 @@
   <services>
     <service>
       <name>YARN</name>
+      <displayName>YARN</displayName>
       <comment>Apache Hadoop NextGen MapReduce (YARN)</comment>
       <version>2.1.0.2.0.6.0</version>
       <components>
 
         <component>
           <name>RESOURCEMANAGER</name>
+          <displayName>ResourceManager</displayName>
           <category>MASTER</category>
           <cardinality>1</cardinality>
           <commandScript>
@@ -59,6 +61,7 @@
 
         <component>
           <name>NODEMANAGER</name>
+          <displayName>NodeManager</displayName>
           <category>SLAVE</category>
           <cardinality>1+</cardinality>
           <commandScript>
@@ -69,6 +72,7 @@
         </component>
         <component>
           <name>YARN_CLIENT</name>
+          <displayName>Yarn Client</displayName>
           <category>CLIENT</category>
           <deleted>true</deleted>
           <cardinality>0+</cardinality>

http://git-wip-us.apache.org/repos/asf/ambari/blob/02ee3d44/ambari-server/src/test/resources/stacks/HDP/2.0.7/services/HBASE/metainfo.xml
----------------------------------------------------------------------
diff --git 
a/ambari-server/src/test/resources/stacks/HDP/2.0.7/services/HBASE/metainfo.xml 
b/ambari-server/src/test/resources/stacks/HDP/2.0.7/services/HBASE/metainfo.xml
index e4a76c5..e3ebea1 100644
--- 
a/ambari-server/src/test/resources/stacks/HDP/2.0.7/services/HBASE/metainfo.xml
+++ 
b/ambari-server/src/test/resources/stacks/HDP/2.0.7/services/HBASE/metainfo.xml
@@ -23,6 +23,7 @@
   <services>
     <service>
       <name>HBASE</name>
+      <displayName>HBase</displayName>
       <comment>Non-relational distributed database and centralized service for 
configuration management &amp;
         synchronization
       </comment>
@@ -30,6 +31,7 @@
       <components>
         <component>
           <name>HBASE_MASTER</name>
+          <displayName>HBase Master</displayName>
           <category>MASTER</category>
           <commandScript> <!--This is the script to handle all default 
commands -->
             <script>scripts/hbase_master.py</script>
@@ -58,6 +60,7 @@
 
         <component>
           <name>HBASE_REGIONSERVER</name>
+          <displayName>RegionServer</displayName>
           <category>SLAVE</category>
           <commandScript> <!--This is the script to handle all default 
commands -->
             <script>scripts/hbase_master.py</script>
@@ -67,6 +70,7 @@
 
         <component>
           <name>HBASE_CLIENT</name>
+          <displayName>HBase Client</displayName>
           <category>CLIENT</category>
         </component>
       </components>

http://git-wip-us.apache.org/repos/asf/ambari/blob/02ee3d44/ambari-server/src/test/resources/stacks/HDP/2.0.7/services/HDFS/metainfo.xml
----------------------------------------------------------------------
diff --git 
a/ambari-server/src/test/resources/stacks/HDP/2.0.7/services/HDFS/metainfo.xml 
b/ambari-server/src/test/resources/stacks/HDP/2.0.7/services/HDFS/metainfo.xml
index 74f47e7..69f13e9 100644
--- 
a/ambari-server/src/test/resources/stacks/HDP/2.0.7/services/HDFS/metainfo.xml
+++ 
b/ambari-server/src/test/resources/stacks/HDP/2.0.7/services/HDFS/metainfo.xml
@@ -20,12 +20,14 @@
   <services>
     <service>
       <name>HDFS</name>
+      <displayName>HDFS</displayName>
       <comment>Apache Hadoop Distributed File System</comment>
       <version>2.1.0.2.0.6.0</version>
 
       <components>
         <component>
           <name>NAMENODE</name>
+          <displayName>NameNode</displayName>
           <category>MASTER</category>
           <commandScript>
             <script>scripts/namenode.py</script>
@@ -54,6 +56,7 @@
 
         <component>
           <name>DATANODE</name>
+          <displayName>DataNode</displayName>
           <category>SLAVE</category>
           <commandScript>
             <script>scripts/datanode.py</script>
@@ -64,6 +67,7 @@
 
         <component>
           <name>SECONDARY_NAMENODE</name>
+          <displayName>SNameNode</displayName>
           <category>MASTER</category>
           <commandScript>
             <script>scripts/snamenode.py</script>
@@ -74,6 +78,7 @@
 
         <component>
           <name>HDFS_CLIENT</name>
+          <displayName>HDFS Client</displayName>
           <category>CLIENT</category>
           <commandScript>
             <script>scripts/hdfs_client.py</script>
@@ -84,6 +89,7 @@
 
         <component>
           <name>JOURNALNODE</name>
+          <displayName>JournalNode</displayName>
           <category>MASTER</category>
           <commandScript>
             <script>scripts/journalnode.py</script>
@@ -94,6 +100,7 @@
 
         <component>
           <name>ZKFC</name>
+          <displayName>ZKFailoverController</displayName>
           <category>SLAVE</category>
           <commandScript>
             <script>scripts/zkfc_slave.py</script>

http://git-wip-us.apache.org/repos/asf/ambari/blob/02ee3d44/ambari-server/src/test/resources/stacks/HDP/2.0.7/services/HIVE/metainfo.xml
----------------------------------------------------------------------
diff --git 
a/ambari-server/src/test/resources/stacks/HDP/2.0.7/services/HIVE/metainfo.xml 
b/ambari-server/src/test/resources/stacks/HDP/2.0.7/services/HIVE/metainfo.xml
index d6fe959..7be9ccd 100644
--- 
a/ambari-server/src/test/resources/stacks/HDP/2.0.7/services/HIVE/metainfo.xml
+++ 
b/ambari-server/src/test/resources/stacks/HDP/2.0.7/services/HIVE/metainfo.xml
@@ -21,6 +21,7 @@
     <service>
 
       <name>HIVE</name>
+      <displayName>Hive</displayName>
       <comment>Data warehouse system for ad-hoc queries &amp; analysis of 
large datasets and table &amp; storage management service</comment>
       <version>0.11.0.2.0.5.0</version>
 
@@ -28,6 +29,7 @@
 
         <component>
           <name>HIVE_METASTORE</name>
+          <displayName>Hive Metastore</displayName>
           <category>MASTER</category>
           <cardinality>1</cardinality>
           <auto-deploy>
@@ -43,6 +45,7 @@
 
         <component>
           <name>HIVE_SERVER</name>
+          <displayName>HiveServer2</displayName>
           <category>MASTER</category>
           <cardinality>1</cardinality>
           <dependencies>
@@ -84,6 +87,7 @@
 
         <component>
           <name>MYSQL_SERVER</name>
+          <displayName>MySQL Server</displayName>
           <category>MASTER</category>
           <cardinality>1</cardinality>
           <commandScript>
@@ -94,6 +98,7 @@
 
         <component>
           <name>HIVE_CLIENT</name>
+          <displayName>Hive Client</displayName>
           <category>CLIENT</category>
           <cardinality>0+</cardinality>
           <commandScript>

http://git-wip-us.apache.org/repos/asf/ambari/blob/02ee3d44/ambari-server/src/test/resources/stacks/HDP/2.0.7/services/ZOOKEEPER/metainfo.xml
----------------------------------------------------------------------
diff --git 
a/ambari-server/src/test/resources/stacks/HDP/2.0.7/services/ZOOKEEPER/metainfo.xml
 
b/ambari-server/src/test/resources/stacks/HDP/2.0.7/services/ZOOKEEPER/metainfo.xml
index fc09417..d397d19 100644
--- 
a/ambari-server/src/test/resources/stacks/HDP/2.0.7/services/ZOOKEEPER/metainfo.xml
+++ 
b/ambari-server/src/test/resources/stacks/HDP/2.0.7/services/ZOOKEEPER/metainfo.xml
@@ -20,12 +20,14 @@
   <services>
     <service>
       <name>ZOOKEEPER</name>
+      <displayName>ZooKeeper</displayName>
       <comment>Centralized service which provides highly reliable distributed 
coordination</comment>
       <version>3.4.5.2.0</version>
       <components>
 
         <component>
           <name>ZOOKEEPER_SERVER</name>
+          <displayName>ZooKeeper Server</displayName>
           <category>MASTER</category>
           <cardinality>1</cardinality>
           <commandScript>
@@ -37,6 +39,7 @@
 
         <component>
           <name>ZOOKEEPER_CLIENT</name>
+          <displayName>ZooKeeper Client</displayName>
           <category>CLIENT</category>
           <cardinality>0+</cardinality>
           <commandScript>

http://git-wip-us.apache.org/repos/asf/ambari/blob/02ee3d44/ambari-server/src/test/resources/stacks/HDP/2.0.8/services/SQOOP/metainfo.xml
----------------------------------------------------------------------
diff --git 
a/ambari-server/src/test/resources/stacks/HDP/2.0.8/services/SQOOP/metainfo.xml 
b/ambari-server/src/test/resources/stacks/HDP/2.0.8/services/SQOOP/metainfo.xml
index 44d4232..15d9d75 100644
--- 
a/ambari-server/src/test/resources/stacks/HDP/2.0.8/services/SQOOP/metainfo.xml
+++ 
b/ambari-server/src/test/resources/stacks/HDP/2.0.8/services/SQOOP/metainfo.xml
@@ -20,6 +20,7 @@
   <services>
     <service>
       <name>SQOOP</name>
+      <displayName>Sqoop</displayName>
       <comment>Tool for transferring bulk data between Apache Hadoop and 
structured data stores such as relational databases</comment>
       <version>1.23</version>
       <components>

http://git-wip-us.apache.org/repos/asf/ambari/blob/02ee3d44/ambari-server/src/test/resources/stacks/HDP/2.1.1/services/STORM/metainfo.xml
----------------------------------------------------------------------
diff --git 
a/ambari-server/src/test/resources/stacks/HDP/2.1.1/services/STORM/metainfo.xml 
b/ambari-server/src/test/resources/stacks/HDP/2.1.1/services/STORM/metainfo.xml
index 2552cbe..79a3130 100644
--- 
a/ambari-server/src/test/resources/stacks/HDP/2.1.1/services/STORM/metainfo.xml
+++ 
b/ambari-server/src/test/resources/stacks/HDP/2.1.1/services/STORM/metainfo.xml
@@ -37,6 +37,7 @@
 
         <component>
           <name>STORM_REST_API</name>
+          <displayName>Storm REST API Server</displayName>
           <category>MASTER</category>
           <commandScript>
             <script>scripts/rest_api.py</script>
@@ -47,6 +48,7 @@
 
         <component>
           <name>SUPERVISOR</name>
+          <displayName>Supervisor</displayName>
           <category>SLAVE</category>
           <commandScript>
             <script>scripts/supervisor.py</script>
@@ -57,6 +59,7 @@
 
         <component>
           <name>STORM_UI_SERVER</name>
+          <displayName>Storm UI Server</displayName>
           <category>MASTER</category>
           <commandScript>
             <script>scripts/ui_server.py</script>
@@ -67,6 +70,7 @@
 
         <component>
           <name>DRPC_SERVER</name>
+          <displayName>DRPC Server</displayName>
           <category>MASTER</category>
           <commandScript>
             <script>scripts/drpc_server.py</script>

http://git-wip-us.apache.org/repos/asf/ambari/blob/02ee3d44/ambari-web/app/mappers/stack_service_mapper.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/mappers/stack_service_mapper.js 
b/ambari-web/app/mappers/stack_service_mapper.js
index 11d066e..7609d9d 100644
--- a/ambari-web/app/mappers/stack_service_mapper.js
+++ b/ambari-web/app/mappers/stack_service_mapper.js
@@ -24,6 +24,7 @@ App.stackServiceMapper = App.QuickDataMapper.create({
   config: {
     id: 'service_name',
     service_name: 'service_name',
+    display_name: 'display_name',
     config_types: 'config_types',
     comments: 'comments',
     service_version: 'service_version',
@@ -42,6 +43,7 @@ App.stackServiceMapper = App.QuickDataMapper.create({
   component_config: {
     id: 'component_name',
     component_name: 'component_name',
+    display_name: 'display_name',
     cardinality: 'cardinality',
     custom_commands: 'custom_commands',
     service_name: 'service_name',

http://git-wip-us.apache.org/repos/asf/ambari/blob/02ee3d44/ambari-web/app/mixins.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/mixins.js b/ambari-web/app/mixins.js
index 020b891..e68fcc4 100644
--- a/ambari-web/app/mixins.js
+++ b/ambari-web/app/mixins.js
@@ -23,7 +23,6 @@ require('mixins/common/blueprint');
 require('mixins/common/localStorage');
 require('mixins/common/userPref');
 require('mixins/common/serverValidator');
-require('mixins/models/service_mixin');
 require('mixins/common/tableServerProvider');
 require('mixins/common/table_server_mixin');
 require('mixins/main/host/details/host_components/decommissionable');

http://git-wip-us.apache.org/repos/asf/ambari/blob/02ee3d44/ambari-web/app/mixins/models/service_mixin.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/mixins/models/service_mixin.js 
b/ambari-web/app/mixins/models/service_mixin.js
deleted file mode 100644
index 4c6b069..0000000
--- a/ambari-web/app/mixins/models/service_mixin.js
+++ /dev/null
@@ -1,30 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-var App = require('app');
-
-/**
- * Service Mixin that used for App.StackService and App.Service models.
- *
- **/
-App.ServiceModelMixin = Em.Mixin.create({
-  serviceName: DS.attr('string'),
-  displayName: function() {
-    return App.format.role(this.get('serviceName'));
-  }.property('serviceName')
-});

http://git-wip-us.apache.org/repos/asf/ambari/blob/02ee3d44/ambari-web/app/models/service.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/models/service.js b/ambari-web/app/models/service.js
index b275a9b..03d2a2e 100644
--- a/ambari-web/app/models/service.js
+++ b/ambari-web/app/models/service.js
@@ -19,9 +19,12 @@
 
 var App = require('app');
 require('utils/config');
-require('mixins/models/service_mixin');
 
-App.Service = DS.Model.extend(App.ServiceModelMixin, {
+App.Service = DS.Model.extend({
+  serviceName: DS.attr('string'),
+  displayName: function() {
+    return App.format.role(this.get('serviceName'));
+  }.property('serviceName'),
   passiveState: DS.attr('string'),
   workStatus: DS.attr('string'),
   rand: DS.attr('string'),

http://git-wip-us.apache.org/repos/asf/ambari/blob/02ee3d44/ambari-web/app/models/stack_service.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/models/stack_service.js 
b/ambari-web/app/models/stack_service.js
index e19e27f..2baf65a 100644
--- a/ambari-web/app/models/stack_service.js
+++ b/ambari-web/app/models/stack_service.js
@@ -18,7 +18,6 @@
 
 var App = require('app');
 require('utils/helper');
-require('mixins/models/service_mixin');
 require('models/service_config');
 //TODO after moving validation/recommendation to BE belove requirements must 
be deleted
 require('utils/configs/defaults_providers/yarn_defaults_provider');
@@ -37,7 +36,9 @@ require('utils/configs/validators/storm_configs_validator');
  * The model maps to the  
http://hostname:8080/api/v1/stacks2/HDP/versions/${versionNumber}/stackServices?fields=StackServices/*,serviceComponents/*
  * @type {*}
  */
-App.StackService = DS.Model.extend(App.ServiceModelMixin, {
+App.StackService = DS.Model.extend({
+  serviceName: DS.attr('string'),
+  displayName: DS.attr('string'),
   comments: DS.attr('string'),
   configTypes: DS.attr('object'),
   serviceVersion: DS.attr('string'),

http://git-wip-us.apache.org/repos/asf/ambari/blob/02ee3d44/ambari-web/app/models/stack_service_component.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/models/stack_service_component.js 
b/ambari-web/app/models/stack_service_component.js
index 3ed366c..8c5594d 100644
--- a/ambari-web/app/models/stack_service_component.js
+++ b/ambari-web/app/models/stack_service_component.js
@@ -24,6 +24,7 @@ var numberUtils = require('utils/number_utils');
  */
 App.StackServiceComponent = DS.Model.extend({
   componentName: DS.attr('string'),
+  displayName: DS.attr('string'),
   cardinality: DS.attr('string'),
   customCommands: DS.attr('array'),
   dependencies: DS.attr('array'),
@@ -54,15 +55,6 @@ App.StackServiceComponent = DS.Model.extend({
     return numberUtils.getCardinalityValue(this.get('cardinality'), true);
   }.property('cardinality'),
 
-  /** @property {String} displayName**/
-  displayName: function() {
-    if (App.format.role(this.get('componentName'))) {
-      return App.format.role(this.get('componentName'));
-    } else {
-      return this.get('componentName');
-    }
-  }.property('componentName'),
-
   /** @property {Boolean} isRequired - component required to install **/
   isRequired: function() {
     return this.get('minToInstall') > 0;

http://git-wip-us.apache.org/repos/asf/ambari/blob/02ee3d44/ambari-web/app/utils/helper.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/utils/helper.js b/ambari-web/app/utils/helper.js
index c22759d..3be9849 100644
--- a/ambari-web/app/utils/helper.js
+++ b/ambari-web/app/utils/helper.js
@@ -373,7 +373,18 @@ App.format = {
    * return {string}
    */
   role:function (role) {
-    return this.normalizeName(role);
+    var result;
+    var models = [App.StackService, App.StackServiceComponent];
+    models.forEach(function(model){
+      var instance =  model.find().findProperty('id',role);
+      if (instance) {
+        result = instance.get('displayName');
+      }
+    },this);
+    if (!result)  {
+      result =  this.normalizeName(role);
+    }
+    return result;
   },
 
   /**
@@ -397,7 +408,7 @@ App.format = {
       suffixRegExp.lastIndex = 0;
       var matches = suffixRegExp.exec(name);
       name = matches[1].capitalize() + matches[2].capitalize();
-    };
+    }
     return name.capitalize();
   },
 

http://git-wip-us.apache.org/repos/asf/ambari/blob/02ee3d44/ambari-web/test/app_test.js
----------------------------------------------------------------------
diff --git a/ambari-web/test/app_test.js b/ambari-web/test/app_test.js
index 85b50ee..5cf78cd 100644
--- a/ambari-web/test/app_test.js
+++ b/ambari-web/test/app_test.js
@@ -458,7 +458,7 @@ describe('App', function () {
     afterEach(function () {
       i++;
       App.StackServiceComponent.find.restore();
-    })
+    });
 
     testCases.forEach(function (test) {
       it(test.key + ' should contain ' + test.result, function () {

Reply via email to