# File lib/openshift-origin-controller/app/controllers/emb_cart_controller.rb, line 158
  def destroy
    domain_id = params[:domain_id]
    id = params[:application_id]
    cartridge = params[:id]

    domain = Domain.get(@cloud_user, domain_id)
    return render_format_error(:not_found, "Domain #{domain_id} not found", 127,
                               "REMOVE_CARTRIDGE") if !domain || !domain.hasAccess?(@cloud_user)

    application = get_application(id)
    return render_format_error(:not_found, "Application '#{id}' not found for domain '#{domain_id}'",
                               101, "REMOVE_CARTRIDGE") unless application
    
    return render_format_error(:bad_request, "Cartridge #{cartridge} not embedded within application #{id}",
                               129, "REMOVE_CARTRIDGE") if !application.embedded or !application.embedded.has_key?(cartridge)

    begin
      Rails.logger.debug "Removing #{cartridge} from application #{id}"
      application.remove_dependency(cartridge)
    rescue Exception => e
      return render_format_exception(e, "REMOVE_CARTRIDGE")
    end
      
    application = get_application(id)
    if $requested_api_version == 1.0
      app = RestApplication10.new(application, get_url, nolinks)
    else
      app = RestApplication12.new(application, get_url, nolinks)
    end
    render_format_success(:ok, "application", app, "REMOVE_CARTRIDGE", "Removed #{cartridge} from application #{id}", true)
  end