/*** Copyright (c) 2013 Hércules S. S. José Este arquivo é parte do programa EncontreAquiPeças. EncontreAquiPeças é um software livre; você pode redistribui-lo e/ou modificá-lo dentro dos termos da Licença Pública Geral Menor GNU como publicada pela Fundação do Software Livre (FSF); na versão 2.1 da Licença. Este programa é distribuído na esperança que possa ser útil, mas SEM NENHUMA GARANTIA; sem uma garantia implícita de ADEQUAÇÂO a qualquer MERCADO ou APLICAÇÃO EM PARTICULAR. Veja a Licença Pública Geral Menor GNU em português para maiores detalhes. Você deve ter recebido uma cópia da Licença Pública Geral Menor GNU sob o nome de "LICENSE.TXT" junto com este programa, se não, acesse o site HSlife no endereco www.hslife.com.br ou escreva para a Fundação do Software Livre(FSF) Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. Para mais informações sobre o programa EncontreAquiPeças e seu autor acesse o endereço www.hslife.com.br, pelo e-mail contato@hslife.com.br ou escreva para Hércules S. S. José, Av. Ministro Lafaeyte de Andrade, 1683 - Bl. 3 Apt 404, Marco II - Nova Iguaçu, RJ, Brasil. */ package br.com.hslife.encontreaquipecas.controller; import java.io.IOException; import java.io.OutputStream; import java.util.ArrayList; import java.util.List; import javax.faces.bean.ManagedBean; import javax.faces.bean.ManagedProperty; import javax.faces.bean.SessionScoped; import br.com.hslife.encontreaquipecas.entity.Banner; import br.com.hslife.encontreaquipecas.entity.HistoricoPesquisa; import br.com.hslife.encontreaquipecas.entity.Produto; import br.com.hslife.encontreaquipecas.enumeration.TipoUsuario; import br.com.hslife.encontreaquipecas.exception.BusinessException; import br.com.hslife.encontreaquipecas.facade.IBanner; import br.com.hslife.encontreaquipecas.facade.IHistoricoPesquisa; import br.com.hslife.encontreaquipecas.facade.IProduto; import br.com.hslife.encontreaquipecas.model.CriterioProduto; @ManagedBean(name="buscaMB") @SessionScoped public class BuscaController extends AbstractController<Produto>{ /** * */ private static final long serialVersionUID = 636294586015681186L; @ManagedProperty(name="service", value="#{produtoService}") private IProduto service; @ManagedProperty(name="bannerService", value="#{bannerService}") private IBanner bannerService; @ManagedProperty(name="historicoPesquisaService", value="#{historicoPesquisaService}") private IHistoricoPesquisa historicoPesquisaService; private CriterioProduto criterio; public BuscaController() { super(new Produto()); criterio = new CriterioProduto(); } @Override protected void initializeEntity() { criterio = new CriterioProduto(); listEntity = new ArrayList<Produto>(); } public String find() { try { listEntity = getService().buscarPorCriterioProduto(criterio); // Salva a busca quando o usuário está logado if (getUsuarioLogado() != null && getUsuarioLogado().getTipoUsuario().equals(TipoUsuario.ROLE_USER)) { HistoricoPesquisa hp = new HistoricoPesquisa(); hp.setAno(criterio.getAno()); hp.setFabricante(criterio.getFabricante()); hp.setModelo(criterio.getModelo()); hp.setNome(criterio.getNome()); hp.setConsumidor(historicoPesquisaService.buscarPorLogin(getUsuarioLogado().getLogin())); historicoPesquisaService.cadastrar(hp); } return "/produto"; } catch (BusinessException be) { errorMessage(be.getMessage()); be.getCause().printStackTrace(); } return ""; } public String verDetalhes() { try { entity = getService().buscarPorID(idEntity); } catch (BusinessException be) { errorMessage(be.getMessage()); } return "/detalhes"; } public String cancel() { return "/produto"; } public void paint (OutputStream stream, Object object) throws IOException { stream.write(getListaBanner().get((Integer)object).getDados()); } public List<Banner> getListaBanner() { try { return bannerService.buscarTodos(); } catch (Exception be) { errorMessage(be.getMessage()); } return new ArrayList<Banner>(); } public List<String> getListaFabricantes() { try { return getService().buscarFabricantes(); } catch (Exception be) { errorMessage(be.getMessage()); } return new ArrayList<String>(); } public List<String> getListaModelos() { try { return getService().buscarModelos(); } catch (Exception be) { errorMessage(be.getMessage()); } return new ArrayList<String>(); } public List<String> getListaAnos() { try { return getService().buscarAnos(); } catch (Exception be) { errorMessage(be.getMessage()); } return new ArrayList<String>(); } public List<String> getListaNomes() { try { return getService().buscarNomes(); } catch (Exception be) { errorMessage(be.getMessage()); } return new ArrayList<String>(); } public IProduto getService() { return service; } public void setService(IProduto service) { this.service = service; } public CriterioProduto getCriterio() { return criterio; } public void setCriterio(CriterioProduto criterio) { this.criterio = criterio; } public void setBannerService(IBanner bannerService) { this.bannerService = bannerService; } public void setHistoricoPesquisaService( IHistoricoPesquisa historicoPesquisaService) { this.historicoPesquisaService = historicoPesquisaService; } }