# File lib/openshift-origin-controller/app/controllers/domains_controller.rb, line 106
  def destroy
    id = params[:id]
    force = get_bool(params[:force])

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

    return render_format_error(:forbidden, "User does not have permission to delete domain '#{id}'",
                               132, "DELETE_DOMAIN") if domain && !domain.hasFullAccess?(@cloud_user)

    if force
      Rails.logger.debug "Force deleting domain #{id}"
      @cloud_user.applications.each do |app|
        app.cleanup_and_delete if app.domain.uuid == domain.uuid
      end if @cloud_user.applications
    else
      @cloud_user.applications.each do |app|
        return render_format_error(:bad_request, "Domain contains applications. Delete applications first or set force to true.", 
                                   128, "DELETE_DOMAIN") if app.domain.uuid == domain.uuid
      end if @cloud_user.applications
    end

    begin
      domain.delete
      render_format_success(:no_content, nil, nil, "DELETE_DOMAIN", "Domain #{id} deleted.", true)
    rescue Exception => e
      return render_format_exception(e, "DELETE_DOMAIN") 
    end
  end