package br.com.centralit.citcorpore.ajaxForms;
import java.io.UnsupportedEncodingException;
import java.util.Collection;
import java.util.Enumeration;
import java.util.HashMap;
import java.util.Iterator;
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.citcorpore.bean.BIDashBoardDTO;
import br.com.centralit.citcorpore.bean.DataManagerObjectsDTO;
import br.com.centralit.citcorpore.negocio.BIDashBoardService;
import br.com.citframework.service.ServiceLocator;
import br.com.citframework.util.UtilI18N;
import br.com.citframework.util.UtilStrings;
public class ListagemDashBoardsObjects extends AjaxFormAction {
@Override
public void load(final DocumentHTML document, final HttpServletRequest request, final HttpServletResponse response) throws Exception {
final HashMap hashValores = this.getFormFields(request);
String idStr = (String) hashValores.get("ID");
int id = -1;
try {
if (idStr != null && !idStr.equalsIgnoreCase("-1")) {
idStr = UtilStrings.apenasNumeros(idStr);
}
id = Integer.parseInt(idStr);
} catch (final Exception e) {
// e.printStackTrace();
}
final BIDashBoardService biDashService = (BIDashBoardService) ServiceLocator.getInstance().getService(BIDashBoardService.class, null);
String strCab = "";
if (id == -1) {
strCab += "[{";
strCab += "\"id\":-1,";
strCab += "\"text\":\"" + UtilI18N.internacionaliza(request, "dashboard.dashboards") + "\",";
strCab += "\"children\":[";
final Collection colObjsNeg = biDashService.list();
if (colObjsNeg != null) {
boolean bPrim = true;
for (final Iterator it = colObjsNeg.iterator(); it.hasNext();) {
final BIDashBoardDTO biDashDTO = (BIDashBoardDTO) it.next();
if (!bPrim) {
strCab += ",";
}
strCab += "{";
strCab += "\"id\":\"" + biDashDTO.getIdDashBoard() + "\",";
strCab += "\"text\":\"" + biDashDTO.getNomeDashBoard() + "\"";
// strCab += "\"state\":\"closed\"";
strCab += "}";
bPrim = false;
}
}
strCab += "]";
strCab += "}]";
}
request.setAttribute("json_retorno", strCab);
}
@Override
public Class<DataManagerObjectsDTO> getBeanClass() {
return DataManagerObjectsDTO.class;
}
private HashMap getFormFields(final HttpServletRequest req) {
try {
req.setCharacterEncoding("ISO-8859-1");
} catch (final UnsupportedEncodingException e) {
System.out.println("PROBLEMA COM CODIFICACAO DE CARACTERES!!! [AjaxProcessEvent.getFormFields()]");
e.printStackTrace();
}
final HashMap formFields = new HashMap();
final Enumeration en = req.getParameterNames();
String[] strValores;
while (en.hasMoreElements()) {
final String nomeCampo = (String) en.nextElement();
strValores = req.getParameterValues(nomeCampo);
if (strValores.length == 0) {
formFields.put(nomeCampo.toUpperCase(), UtilStrings.decodeCaracteresEspeciais(req.getParameter(nomeCampo)));
} else {
if (strValores.length == 1) {
formFields.put(nomeCampo.toUpperCase(), UtilStrings.decodeCaracteresEspeciais(strValores[0]));
} else {
formFields.put(nomeCampo.toUpperCase(), strValores);
}
}
}
return formFields;
}
}