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