Olá pessoal
Estou com um problema que pode ser simples para a maioria dos desenvolvedores: Preciso capturar o valor de uma HtmlSelectOneMenu que a princípio é null para comparar com um id tipo Long de outro objeto...
Segue abaixo o código do bean:
...
private HtmlSelectOneMenu programaSelecionado = new HtmlSelectOneMenu();
private HtmlSelectOneMenu servicoSelecionado = new HtmlSelectOneMenu();
public HtmlSelectOneMenu getProgramaSelecionado() {
return programaSelecionado;
}
public void setProgramaSelecionado(HtmlSelectOneMenu programaSelecionado) {
this.programaSelecionado = programaSelecionado;
}
public HtmlSelectOneMenu getservicoSelecionado() {
return servicoSelecionado;
}
public void setservicoSelecionado(HtmlSelectOneMenu servicoSelecionado) {
this.servicoSelecionado = servicoSelecionado;
}
private ProgramaHandler pegaProgramaHandler() {
FacesContext facesContext = FacesContext.getCurrentInstance();
ELContext elContext = facesContext.getELContext();
ELResolver resolver = facesContext.getApplication().getELResolver();
Object p = resolver.getValue(elContext, null, "programaHandler");
return (ProgramaHandler) p;
}
public List<SelectItem> getProgramaParaComboBox() {
List<SelectItem> lista = new ArrayList<SelectItem>();
ProgramaHandler handler = pegaProgramaHandler();
for (Programa p : handler.getProgramas()) {
// String id = Long.toString(p.getCod_programa());
lista.add(new SelectItem(p, p.getNome()));
}
return lista;
}
private ServicoHandler pegaServicoHandler() {
FacesContext facesContext = FacesContext.getCurrentInstance();
ELContext elContext = facesContext.getELContext();
ELResolver resolver = facesContext.getApplication().getELResolver();
Object s = resolver.getValue(elContext, null, "servicoHandler");
return (ServicoHandler) s;
}
public List<SelectItem> getServicoParaComboBox() {
List<SelectItem> lista = new ArrayList<SelectItem>();
ServicoHandler handler = pegaServicoHandler();
System.out.println("Value of programa: " + programaSelecionado.getId());
for (Servico s : handler.getServicos()) {
//aqui pensei em usar a logica q comentei acima:
//if (programaSelecionado != null && programaSelecionado == s .getPrograma_cod_programa()) {
//...
lista.add(new SelectItem(s, s.getNome()));
}
return lista;
}
Eae, alguem pode me ajudar nisso??