and here's the controller:
Code:
package gesic.controllers;
import gesic.commandobjects.RicercaMessaggiSSGCO;
import gesic.pojos.FiltroMessaggiSSGPOJO;
import gesic.pojos.ListaMessaggiSSGPOJO;
import gesic.pojos.RigaDizionarioPOJO;
import gesic.schema.DatiSessione;
import gesic.services.MessaggioSSGService;
import gesic.utils.conversions.MessaggioSSGConversionUtility;
import java.util.List;
import java.util.Map;
import javax.servlet.http.HttpSession;
import org.codehaus.jackson.map.ObjectMapper;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.SessionAttributes;
@Controller
@RequestMapping("/gesic/ticket/RicercaMessaggiSSG.htm")
@SessionAttributes({"ricercaMessaggiSSGCO", "livellodispacciamento"})
public class RicercaMessaggiSSGController {
private static final String MODEL_JSTL_KEY = "ricercaMessaggiSSGCO";
private static final String LIST_LIVDISP_KEY = "livellodispacciamento";
private MessaggioSSGService service;
@SuppressWarnings("unchecked")
@RequestMapping(method=RequestMethod.GET)
public void showForm (@RequestParam(value="reset", required=false) String reset,
HttpSession session, ModelMap model) {
if (!model.containsAttribute(LIST_LIVDISP_KEY)) {
Map<String, List<RigaDizionarioPOJO>> diz = (Map<String, List<RigaDizionarioPOJO>>)
session.getServletContext().getAttribute("gesifcdictionary");
model.addAttribute(LIST_LIVDISP_KEY, diz.get("MSGDISP"));
}
if (!model.containsAttribute(MODEL_JSTL_KEY) || "true".equals(reset)) {
DatiSessione identificativo = (DatiSessione) session.getAttribute("identificativo");
RicercaMessaggiSSGCO co = new RicercaMessaggiSSGCO();
co.setIdUnitaUtente(identificativo.getIdUnita());
co.setVisibilita("V");
co.setSoloValidi(true);
model.addAttribute(MODEL_JSTL_KEY, co);
}
}
@RequestMapping(method=RequestMethod.POST)
public String saveForm (@ModelAttribute(MODEL_JSTL_KEY) RicercaMessaggiSSGCO co, ModelMap model,
HttpSession session) throws Exception {
FiltroMessaggiSSGPOJO filtro = caricaFiltro(co);
session.setAttribute("filtroMessaggiSSG", filtro);
List<ListaMessaggiSSGPOJO> listaMsg = service.caricaListaMessaggiSSG(filtro);
ObjectMapper mapper = new ObjectMapper();
String json = mapper.writeValueAsString(MessaggioSSGConversionUtility.prepareJSON(listaMsg));
model.addAttribute("listaMessaggiSSG", json);
return "gesic/ticket/ListaMessaggiSSG";
}
private FiltroMessaggiSSGPOJO caricaFiltro(RicercaMessaggiSSGCO co) {
FiltroMessaggiSSGPOJO filtro = new FiltroMessaggiSSGPOJO();
filtro.setCduteinserimento(co.getCdUtenteIns());
filtro.setCdutelastmod(co.getCdUtenteMod());
filtro.setDtinserimentoA(co.getDtInsA());
filtro.setDtinserimentoDa(co.getDtInsDa());
filtro.setDtvaliditaA(co.getPdValA());
filtro.setDtvaliditaDa(co.getPdValDa());
filtro.setIdunitaoggmsg(co.getIdUnitaOggMsg());
if ("V".equals(co.getVisibilita()))
filtro.setIdunitavismsg(co.getIdUnitaUtente());
else if ("P".equals(co.getVisibilita()))
filtro.setIdunitapropmsg(co.getIdUnitaUtente());
else if ("VP".equals(co.getVisibilita()))
{
filtro.setIdunitavismsg(co.getIdUnitaUtente());
filtro.setIdunitapropmsg(co.getIdUnitaUtente());
}
if (co.isSoloValidi())
filtro.setSwvalidi("S");
filtro.setTpdispacc(co.getLivDisp());
return filtro;
}
public void setService(MessaggioSSGService service) {
this.service = service;
}
}