# File lib/openshift-origin-controller/app/models/component_instance.rb, line 74
  def resolve_exec_order(app)
    deps = self.dependencies.dup
    self.dependencies.each { |dep| 
      depinst = app.comp_instance_map[dep]
      comp,p,c = depinst.get_component_definition(app)
      if comp.depends_service and !comp.depends_service.empty?
        comp.depends_service.each { |dependent_cart|
          deps.each { |parent_dep| 
            if parent_dep.include? dependent_cart 
              # add parent_dep to exec_order
              self.exec_order << parent_dep if not self.exec_order.include? parent_dep
            end
          }
        }
      end
      self.exec_order << dep if not self.exec_order.include? dep 
    }
  end