package br.com.centralit.citcorpore.ajaxForms;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import br.com.centralit.citajax.html.AjaxFormAction;
import br.com.centralit.citajax.html.DocumentHTML;
import br.com.centralit.citajax.html.HTMLForm;
import br.com.centralit.citcorpore.bean.BaseConhecimentoDTO;
import br.com.centralit.citcorpore.bean.ComentariosDTO;
import br.com.centralit.citcorpore.negocio.BaseConhecimentoService;
import br.com.centralit.citcorpore.negocio.ComentariosService;
import br.com.centralit.citcorpore.negocio.ContadorAcessoService;
import br.com.centralit.lucene.Lucene;
import br.com.citframework.service.ServiceLocator;
import br.com.citframework.util.UtilDatas;
import br.com.citframework.util.UtilI18N;
public class Comentarios extends AjaxFormAction {
@SuppressWarnings("rawtypes")
@Override
public Class getBeanClass() {
return ComentariosDTO.class;
}
@Override
public void load(DocumentHTML document, HttpServletRequest request, HttpServletResponse response) throws Exception {
}
public void save(DocumentHTML document, HttpServletRequest request, HttpServletResponse response) throws Exception {
ComentariosDTO comentariosDto = (ComentariosDTO) document.getBean();
ComentariosService comentariosService = (ComentariosService) ServiceLocator.getInstance().getService(ComentariosService.class, null);
if (comentariosDto.getIdComentario() == null || comentariosDto.getIdComentario().intValue() == 0) {
if(comentariosDto.getNota()==null){
comentariosDto.setNota("0");
}
if(!comentariosDto.getComentario().equalsIgnoreCase("")){
comentariosDto.setDataInicio(UtilDatas.getDataAtual());
Integer idBaseConhecimento = (Integer)request.getSession().getAttribute("idBaseConhecimento");
comentariosDto.setIdBaseConhecimento(idBaseConhecimento);
comentariosService.create(comentariosDto);
//Atualizando �ndice Lucene
// Avalia��o - M�dia da nota dada pelos usu�rios
BaseConhecimentoService baseConhecimentoService = (BaseConhecimentoService) ServiceLocator.getInstance().getService(BaseConhecimentoService.class, null);
BaseConhecimentoDTO baseConhecimentoDto = new BaseConhecimentoDTO();
baseConhecimentoDto.setIdBaseConhecimento(idBaseConhecimento);
baseConhecimentoDto = (BaseConhecimentoDTO) baseConhecimentoService.restore(baseConhecimentoDto);
Double media = baseConhecimentoService.calcularNota(baseConhecimentoDto.getIdBaseConhecimento());
if (media != null)
baseConhecimentoDto.setMedia(media.toString());
else
baseConhecimentoDto.setMedia(null);
ContadorAcessoService contadorAcessoService = (ContadorAcessoService) ServiceLocator.getInstance().getService(ContadorAcessoService.class, null);
// Qtde de cliques
Integer quantidadeDeCliques = contadorAcessoService.quantidadesDeAcessoPorBaseConhecimnto(baseConhecimentoDto);
if (quantidadeDeCliques != null)
baseConhecimentoDto.setContadorCliques(quantidadeDeCliques);
else
baseConhecimentoDto.setContadorCliques(0);
Lucene lucene = new Lucene();
lucene.indexarBaseConhecimento(baseConhecimentoDto);
document.alert(UtilI18N.internacionaliza(request, "MSG05"));
}else{
document.alert(UtilI18N.internacionaliza(request, "citcorpore.comum.camposObrigatorios"));
document.executeScript("document.getElementById('comentario').focus();");
return;
}
} else {
comentariosService.update(comentariosDto);
document.alert(UtilI18N.internacionaliza(request, "MSG06"));
}
HTMLForm form = document.getForm("formPopup");
form.clear();
document.executeScript("fecharPopup()");
/* @autor edu.braz
* 05/03/2014 */
/* atualiza a quantidade de comentarios.*/
Integer idBaseConhecimento = (Integer)request.getSession().getAttribute("idBaseConhecimento");
document.executeScript("comentariosAbertosPorBaseConhecimnto(" + idBaseConhecimento + ");");//Chamada da fun��o que esta dentro de baseConhecimentoView.jsp
}
}