package br.com.centralit.citcorpore.ajaxForms;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import br.com.centralit.citajax.html.DocumentHTML;
import br.com.centralit.citcorpore.bean.AutoCompleteDTO;
import br.com.centralit.citcorpore.bean.ServicoBIDTO;
import br.com.centralit.citcorpore.negocio.ServicoBIService;
import br.com.citframework.service.ServiceLocator;
public class AutoCompleteServicoBI extends AbstractAutoComplete {
@Override
public Class<ServicoBIDTO> getBeanClass() {
return ServicoBIDTO.class;
}
@Override
public void load(final DocumentHTML document, final HttpServletRequest request, final HttpServletResponse response) throws Exception {
final String consulta = request.getParameter("query");
final String idConexaoBIStr = request.getParameter("idConexaoBI");
Integer idConexaoBI = null;
if (idConexaoBIStr != null && !idConexaoBIStr.equals("-1")) {
idConexaoBI = Integer.parseInt(idConexaoBIStr);
}
Collection<ServicoBIDTO> listServicoBIDTO = new ArrayList<>();
if (idConexaoBI != null) {
final ServicoBIService servicoBIService = (ServicoBIService) ServiceLocator.getInstance().getService(ServicoBIService.class, null);
listServicoBIDTO = servicoBIService.findByNomeEconexaoBI(consulta, idConexaoBI);
}
final AutoCompleteDTO autoCompleteDTO = new AutoCompleteDTO();
final List<String> listNome = new ArrayList<>();
final List<Integer> listIdServico = new ArrayList<>();
if (listServicoBIDTO != null) {
for (final ServicoBIDTO servicoBIDTO : listServicoBIDTO) {
if (servicoBIDTO.getIdServico() != null) {
listNome.add(servicoBIDTO.getNomeServico());
listIdServico.add(servicoBIDTO.getIdServico());
}
}
}
autoCompleteDTO.setQuery(consulta);
autoCompleteDTO.setSuggestions(listNome);
autoCompleteDTO.setData(listIdServico);
String json = "";
if (request.getParameter("colection") != null) {
json = getGSON().toJson(listServicoBIDTO);
} else {
json = getGSON().toJson(autoCompleteDTO);
}
request.setAttribute("json_response", json);
}
}