package sbusca;

import org.hibernate.Session;
import util.HibernateUtil;
import java.util.*;

/**
 * Classe que implemente a busca de sites no sistema de busca
 * @author ledlima
 */
public class MotorBusca {
    /**
     * Palavras chave a ser procurada
     */
    private String keyword;

    public String getKeyword() {
        return keyword;
    }

    public void setKeyword(String keyword) {
        this.keyword = keyword;
    }

    /**
     * Executa a busca dos sites relacionados com a palavra chave armazenada no objeto
     * @return Lista de Sites que contém palavra chave
     */
    public List execute() {

        Session session = HibernateUtil.getSessionFactory().getCurrentSession();

        session.beginTransaction();

        List result = session.createQuery("from Sites where keyword like '%" + keyword + "%'").list();

        session.getTransaction().commit();
        return result;

    }
    
    /**
     * Executa a busca dos sites relacionados com a palavra chave parâmetro da funcão
     * Modifica o valor da keyword da busca
     * @return Lista de Sites que contém palavra chave
     */
    public List execute(String keyword) {

        this.keyword = keyword;

        List result = this.execute();

        return result;
    }
}
