=begin rdoc
	QueriesController class:: handles the queries and stores them to database for future data mining requests ;-)
	Author:: Ana Kovatcheva. 2005
	© Copyright:: iCookWare Team 2005  
=end

#4 eddie
#require '/Users/ani/Projects/icookware/icw_bridge'
#require '/Users/ani/Projects/icookware/icw_blender'

#4 lisa
require '/Users/kovatch/icookware/icw_bridge'
require '/Users/kovatch/icookware/icw_blender'

class QueriesController < ApplicationController
	layout  'icw'
	before_filter :login_required

  
	def index
    new
    render :action => 'new'
  end

	#this should go to admin view some day if needed at all
  def list
    @query_pages, @queries = paginate :query, :per_page => 20
  end

  #list all queries which belong to current user
  def listby_uid
		@query = @session[:user].queries
  	@query_pages, @queries = paginate :query, :per_page => 20
  end


	#show only the current query
  def show_current
		@query = Query.find(params[:id])
  end
	
  def new
		@query = Query.new
	end

	# matches the query with the user_id and stores data to datebase - queries.create comes from "has_many" (see AR documentation)
  def create
    @query = @session[:user].queries.create(params[:query])
    if @query.save
    	
			# bridge integrated
			#@myAnswer=Array.new
			myBridge=ICW::Bridge.new
			myBridge.generateRequestFromString(@params[:query]["fridge"])
			myBridge.putRequest
			myBridge.getProcessedIngreds
			myBridge.substituteFridgeIngreds
			@myAnswer=myBridge.callBlender("/Users/kovatch/icookware/muster_rezepte_lemmatized", "/Users/kovatch/icookware/test_cluster_lemmatized")
			
			@session[:myAnswer] = @myAnswer
			#@s = myBridge.callBlender("/Users/kovatch/icookware/muster_rezepte_lemmatized", "/Users/kovatch/icookware/test_cluster_lemmatized")
			#render_text @s.inspect
			#@myAnswer=[1,2,3,4]
			flash[:notice] = 'Query was successfully created.'
      #redirect_to :action => 'listby_uid'
      redirect_to :action => 'show_answer'
    else
      render :action => 'new'
  	end
	end

	def show_answer
			#if @myAnswer == nil
			#render_text "Gehen Sie zu der FastFood-Kette ihrer Wahl."
			#end
	end

  def edit
    @query = Query.find(params[:id])
  end

  def update
    @query = Query.find(params[:id])
    if @query.update_attributes(params[:query])
      flash[:notice] = 'Query was successfully updated.'
      redirect_to :action => 'show', :id => @query
    else
      render :action => 'edit'
    end
  end

  def destroy
    Query.find(params[:id]).destroy
    redirect_to :action => 'list'
  end

end
