Get Object no load() do LazyDataModel

2 respostas
G

Existe uma maneira de eu passar um objeto pra dentro do método load() do DataTable do PrimeFaces???
Meu GET é esse aqui...
Eu possuo um objeto onde em dado momento, seto seus atributos. Preciso passar de alguma maneira pra dentro do método LOAD pra conseguir fazer o processamento da busca. Só que quando eu dou o GET desse objeto(getDadosPesquisa()) ele me retorna NULL...

Segue abaixo a parte relevante do Bean....

private PesquisaLog dadosPesquisa; //Já tenho o SET e o GET desse Objeto...
	private LazyDataModel<LogAplicacao> lazyModel;  

public LazyDataModel<LogAplicacao> getLazyModel() {  			
		
		if(lazyModel == null){  
			lazyModel = new LazyDataModel<LogAplicacao>(){						

				private static final long serialVersionUID = 1L;

				@Override
				public List<LogAplicacao> load(int startingAt, int maxPerPage, 
						String sortField, SortOrder sortOrder, Map<String, String> filters) {

					try {	
						                   
						LogAplicacaoDAOImpl logAplicacaoDAOImpl = new LogAplicacaoDAOImpl();                        	
	                    lista = logAplicacaoDAOImpl.pesquisarPorDataLoginAcao(
	                    		getDadosPesquisa(), maxPerPage, startingAt);	                    
	                	
	        	        if(getRowCount() <= 0){	        	
	          	            setRowCount(logAplicacaoDAOImpl.pesquisarQuantidadeLogComFiltro(getDadosPesquisa()));
	        	        }
	
	        	        setPageSize(maxPerPage);
	        	 
	        	        return lista;
	        	    }catch (Exception e) {
	        	    	System.out.println("Erro ao paginar... Mensagem de erro: "+ e.getMessage());
	        	    	return null;
	        		}	

				}
			};  		
		}
		return lazyModel;
	}

2 Respostas

G

Consegui resolver…
Utilizei o FacesContext… Foi a única maneira rs…

FacesContext.getCurrentInstance().getExternalContext() .getSessionMap().put("dadosPesquisa", this.dadosPesquisa);

E dentro do load eu consegui puxar:

PesquisaLog pesquisaLog = (PesquisaLog) FacesContext.getCurrentInstance().getExternalContext() .getSessionMap().get("dadosPesquisa");

deividsoncs

Valeu irmão, me ajudou muito!

Criado 13 de agosto de 2012
Ultima resposta 27 de abr. de 2015
Respostas 2
Participantes 2