String[] getPortProperties(Service.Type service, String componentName,
    String hostName, String publicHostName, Map<String, Object> properties, boolean httpsEnabled) {
    componentName = httpsEnabled ? componentName + "-HTTPS" : componentName;
    if(componentName.startsWith("NAMENODE") && properties.containsKey("dfs.internal.nameservices")) {
      componentName += "-HA";
      return getNamenodeHaProperty(
        properties, serviceDesiredProperties.get(service).get(componentName), hostName, publicHostName);
    }
    return serviceDesiredProperties.get(service).get(componentName);
  }
Computes properties that contains proper port for {@code componentName} on {@code hostName}.
Must contain custom logic for different configurations(like NAMENODE HA).
@param service service type
@param componentName component name
@param hostName host which contains requested component
@param properties properties which used for special cases(like NAMENODE HA)
@param httpsEnabled indicates if https enabled for component
@return property name that contain port for {@code componentName} on {@code hostName}
ambari-server/src/main/java/org/apache/ambari/server/controller/internal/AbstractProviderModule.java