Long funcionarioId = (Long) request.getSession().getAttribute(Constants.PA_FUNCIONARIO);
FuncionarioCtrl funcionarioCtrl = new FuncionarioCtrl(getDaoFactory());
Funcionario funcionario = (Funcionario) funcionarioCtrl.get(funcionarioId);
final String id = request.getParameter("id");
Assunto object = null;
if (id == null || id.trim().length() == 0) {
object = new Assunto();
} else {
TipoAssuntoCtrl defaultCtrl = new TipoAssuntoCtrl(getDaoFactory());
object = defaultCtrl.get(new Long(id));
}
SortedSet lista = new TreeSet(new Comparator() {
public int compare(Object obj1, Object obj2) {
return ((Instituicao) obj1).getDescricao().compareTo(
((Instituicao) obj2).getDescricao());
}
});
SubOrgaoCtrl subOrgaoCtrl = new SubOrgaoCtrl(getDaoFactory());
if( funcionario.getNivelAtuacao() == Funcionario.NA_ORGAO ) {
lista.addAll(subOrgaoCtrl.list(getOrgao(request)));
} else {
lista.addAll(funcionario.getListaSubOrgaosAtivos());
}
request.setAttribute("object", object);
request.setAttribute("function", request.getParameter("function"));
request.setAttribute("listarInstituicao", lista);