package com.fitbank.web; import java.util.Enumeration; import java.util.HashMap; import java.util.Map; import javax.servlet.http.HttpServletRequest; import com.fitbank.dto.management.Detail; import com.fitbank.dto.management.Field; public class Report { private HttpServletRequest request; private Map parameters = new HashMap(); private Detail detail = null; @SuppressWarnings("unchecked") public Report(HttpServletRequest pRequest) throws Exception { request = pRequest; Enumeration param = request.getParameterNames(); while (param.hasMoreElements()) { String paramName = param.nextElement(); String val = request.getParameter(paramName).trim(); parameters.put(paramName, val); } DataManage dm = (DataManage) request.getSession().getAttribute(DataManage.KEY); Detail det=(Detail)dm.get("det"); detail = new Detail(); detail.setType(MessageTypes.REP.name()); detail.setSubsystem(det.getSubsystem()); detail.setTransaction(det.getTransaction()); detail.setVersion(det.getVersion()); dm.prepareHeaderData(detail,this.request); detail.findFieldByNameCreate("NAME").setValue(request.getParameter("NAME")); detail.findFieldByNameCreate("TYPE").setValue(request.getParameter("TYPE")); for (String key : this.parameters.keySet()) { if(key.indexOf("R_")==0) detail.findFieldByNameCreate(key).setValue(this.parameters.get(key)); } BussinessDelegate bd = new BussinessDelegate(); this.detail = bd.process(detail); request.getSession().setAttribute("__REPNAME", this.detail.findFieldByNameCreate("REPORTE").getValue()); request.getSession().setAttribute("__REPTYPE", request.getParameter("TYPE")); } public String getData() { String data = "{identifier:\"ID\","; data += "items: ["; data += "{"; data += "ID:'" + "_RESPONSE" + "'"; data += ",VALUE:'" + detail.getResponse().getCode() + "'"; data += "}"; data += ",{"; data += "ID:'" + "_USER_MESSAGE" + "'"; data += ",VALUE:'" + detail.getResponse().getUserMessage() + "'"; data += "}"; for (Field field : this.detail.getFields()) { data += ","; data += "{"; data += "ID:'" + field.getName() + "'"; data += ",VALUE:'" + field.getValue() + "'"; data += "}"; } return data + "]}"; } }