# File lib/openshift-origin-common/models/profile.rb, line 152
    def to_descriptor
      h = {}
      h["Provides"] = @provides unless @provides.nil? || @provides.empty?
      h["Start-Order"] = @start_order unless @start_order.nil? || @start_order.empty?
      h["Stop-Order"] = @stop_order unless @stop_order.nil? || @stop_order.empty?
      h["Configure-Order"] = @configure_order unless @configure_order.nil? || @configure_order.empty?
  
      if self.components.length == 1 && self.components.first.generated
        comp_h = self.components.first.to_descriptor
        comp_h.delete("Name")
        h.merge!(comp_h)
      else
        h["Components"] = {}
        self.components.each do |v|
          h["Components"][v.name] = v.to_descriptor
        end
      end
      
      if self.groups.length == 1 && self.groups.first.generated
        h["Scaling"] = self.groups.first.scaling.to_descriptor if !self.groups.first.scaling.generated
      else
        h["Groups"] = {}
        self.groups.each do |v|
          h["Groups"][v.name] = v.to_descriptor
        end
      end
      if !self.connections.empty?
        h["Connections"] = {}
        self.connections.each do |v|
          h["Connections"][v.name] = v.to_descriptor
        end
      end
      h
    end