AbstractServletListExtendedList.java

  1. /*
  2.  * GovWay - A customizable API Gateway
  3.  * https://govway.org
  4.  *
  5.  * Copyright (c) 2005-2025 Link.it srl (https://link.it).
  6.  *
  7.  * This program is free software: you can redistribute it and/or modify
  8.  * it under the terms of the GNU General Public License version 3, as published by
  9.  * the Free Software Foundation.
  10.  *
  11.  * This program is distributed in the hope that it will be useful,
  12.  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  13.  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  14.  * GNU General Public License for more details.
  15.  *
  16.  * You should have received a copy of the GNU General Public License
  17.  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  18.  *
  19.  */


  20. package org.openspcoop2.web.ctrlstat.plugins.servlet;

  21. import javax.servlet.http.HttpServletRequest;
  22. import javax.servlet.http.HttpServletResponse;
  23. import javax.servlet.http.HttpSession;

  24. import org.apache.struts.action.ActionForm;
  25. import org.apache.struts.action.ActionForward;
  26. import org.apache.struts.action.ActionMapping;
  27. import org.openspcoop2.web.ctrlstat.core.ControlStationCore;
  28. import org.openspcoop2.web.ctrlstat.core.ConsoleSearch;
  29. import org.openspcoop2.web.ctrlstat.plugins.ExtendedList;
  30. import org.openspcoop2.web.ctrlstat.plugins.IExtendedListServlet;
  31. import org.openspcoop2.web.ctrlstat.servlet.ConsoleHelper;
  32. import org.openspcoop2.web.ctrlstat.servlet.GeneralHelper;
  33. import org.openspcoop2.web.lib.mvc.ForwardParams;
  34. import org.openspcoop2.web.lib.mvc.GeneralData;
  35. import org.openspcoop2.web.lib.mvc.PageData;
  36. import org.openspcoop2.web.lib.mvc.ServletUtils;
  37. import org.openspcoop2.web.lib.mvc.TipoOperazione;

  38. /**
  39.  * AbstractServletListExcendedList
  40.  *
  41.  * @author Andrea Poli (apoli@link.it)
  42.  * @author $Author$
  43.  * @version $Rev$, $Date$
  44.  *
  45.  */
  46. public abstract class AbstractServletListExtendedList extends AbstractServletListUtilities {

  47.     @Override
  48.     public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception {

  49.         HttpSession session = request.getSession(true);

  50.         // Inizializzo PageData
  51.         PageData pd = new PageData();

  52.         GeneralHelper generalHelper = new GeneralHelper(session);

  53.         // Inizializzo GeneralData
  54.         GeneralData gd = generalHelper.initGeneralData(request);
  55.        
  56.         try {
  57.             ConsoleHelper consoleHelper = this.getConsoleHelper(request, pd, session);

  58.             ControlStationCore consoleCore = this.getConsoleCore();
  59.            
  60.             IExtendedListServlet extendedServlet = this.getExtendedServlet(consoleHelper);
  61.            
  62.             Object object = this.getObject(consoleHelper);
  63.            
  64.             // Preparo il menu
  65.             consoleHelper.makeMenu();

  66.             ConsoleSearch ricerca = (ConsoleSearch) ServletUtils.getSearchObjectFromSession(request, session, ConsoleSearch.class);

  67.             int idLista = this.getIdList();

  68.             ricerca = consoleHelper.checkSearchParameters(idLista, ricerca);

  69.             int limit = ricerca.getPageSize(idLista);
  70.             int offset = ricerca.getIndexIniziale(idLista);
  71.             String search = (org.openspcoop2.core.constants.Costanti.SESSION_ATTRIBUTE_VALUE_RICERCA_UNDEFINED.equals(ricerca.getSearchString(idLista)) ? "" : ricerca.getSearchString(idLista));
  72.             ExtendedList extendedList = extendedServlet.extendedBeanList(TipoOperazione.LIST, consoleHelper, consoleCore,
  73.                     object, limit, offset, search);
  74.             ricerca.setNumEntries(idLista,extendedList.getSize());
  75.            
  76.             this.prepareList(TipoOperazione.LIST, consoleHelper, ricerca, object, extendedServlet, extendedList.getExtendedBean(), ControlStationCore.getLog(),
  77.                     this.getUrlExtendedFather(consoleHelper));

  78.             // salvo l'oggetto ricerca nella sessione
  79.             ServletUtils.setSearchObjectIntoSession(request, session, ricerca);

  80.             ServletUtils.setGeneralAndPageDataIntoSession(request, session, gd, pd);

  81.             // Forward control to the specified success URI
  82.             return ServletUtils.getStrutsForward(mapping, this.getObjectName(),
  83.                     ForwardParams.LIST());
  84.         } catch (Exception e) {
  85.             return ServletUtils.getStrutsForwardError(ControlStationCore.getLog(), e, pd, request, session, gd, mapping,
  86.                     this.getObjectName(),
  87.                     ForwardParams.LIST());
  88.         }  
  89.     }
  90.    
  91.    
  92. }