# File lib/openshift-origin-controller/app/controllers/emb_cart_controller.rb, line 36
  def show
    domain_id = params[:domain_id]
    application_id = params[:application_id]
    id = params[:id]
    #include=status_messages
    status_messages = (params[:include] == "status_messages")
    
    domain = Domain.get(@cloud_user, domain_id)
    return render_error(:not_found, "Domain #{domain_id} not found", 127,
                        "SHOW_APP_CARTRIDGE") if !domain || !domain.hasAccess?(@cloud_user)

    Rails.logger.debug "Getting cartridge #{id} for application #{application_id} under domain #{domain_id}"
    application = get_application(application_id)
    return render_error(:not_found, "Application '#{application_id}' not found for domain '#{domain_id}'",
                        101, "SHOW_APP_CARTRIDGE") if !application
   
    cartridge = nil 
    application.embedded.each do |key, value|
      if key == id
        app_status = application.status(key, false) if status_messages
        if $requested_api_version == 1.0
          cartridge = RestCartridge10.new("embedded", key, application, get_url, app_status, nolinks)
        else
          cartridge = RestCartridge11.new("embedded", key, application, get_url, app_status, nolinks)
        end
        break
      end
    end if application.embedded

    if !cartridge and id == application.framework and $requested_api_version != 1.0
      app_status = application.status(application.framework, false) if status_messages
      app_status.each do |gear_status|
        #FIXME: work around until cartridge status hook provides better interface
        message = "#{application.framework} is started."
        message = "#{application.framework} is stopped or inaccessible." if gear_status['message'].match(/(stopped)|(inaccessible)/)
        gear_status['message'] = message
      end if app_status
      cartridge = RestCartridge11.new("standalone", application.framework, application, get_url, app_status, nolinks)
    end
    return render_success(:ok, "cartridge", cartridge, "SHOW_APP_CARTRIDGE",
           "Showing cartridge #{id} for application #{application_id} under domain #{domain_id}") if cartridge

    render_error(:not_found, "Cartridge #{id} not found for application #{application_id}",
                 129, "SHOW_APP_CARTRIDGE")
  end