Package org.xdams.xw.paging

Source Code of org.xdams.xw.paging.PagingTool

package org.xdams.xw.paging;

import it.highwaytech.db.QueryResult;

import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.Vector;

import javax.servlet.ServletContext;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;

import org.springframework.ui.ModelMap;
import org.xdams.page.view.bean.TitleBean;
import org.xdams.utility.request.MyRequest;
import org.xdams.workflow.bean.WorkFlowBean;
import org.xdams.xw.XWConnection;


public class PagingTool {

  private Map<String, String[]> parameterMap = null;

  private ModelMap modelMap = null;

  public PagingTool(Map<String, String[]> parameterMap, ModelMap modelMap) throws Exception {
    this.parameterMap = parameterMap;
    this.modelMap = modelMap;
  }

  public List<TitleBean> pagingXMLDocument(QueryResult queryResult, XWConnection xwConn) {
    List<TitleBean> titleBeans = new ArrayList<TitleBean>();
    WorkFlowBean workFlowBean = (WorkFlowBean) modelMap.get("workFlowBean");
    HttpSession httpSession = workFlowBean.getRequest().getSession(false);
    try {
      // INIZIO PAGINAZIONE
      int pageToShow = 1;
      QRParser qRparser = null;
      QRPage currentPage = null;
      int perpage = 10;
      if (!MyRequest.getParameter("perpage", parameterMap).equals("")) {
        perpage = Integer.parseInt(MyRequest.getParameter("perpage", parameterMap));
      } else if (MyRequest.getAttribute("perpage", workFlowBean.getRequest()) != null) {
        perpage = Integer.parseInt((String) MyRequest.getAttribute("perpage", workFlowBean.getRequest()));
      }
      if (MyRequest.getParameter("fromId", parameterMap).equals("") || !MyRequest.getParameter("perpageChanged", parameterMap).equals("")) {
        int from = 0;
        try {
          from = Integer.parseInt(MyRequest.getParameter("toElement", parameterMap));
        } catch (NumberFormatException exc) {
          from = 0;
        }
        int to = queryResult.elements;
        try {
          to = Integer.parseInt(MyRequest.getParameter("fromElement", parameterMap));
        } catch (NumberFormatException exc) {
          to = queryResult.elements;
        }
        qRparser = new QRParser(queryResult, perpage, from, to);
        qRparser.setIdQR(queryResult.id);
        qRparser.setQrElements(queryResult.elements);
        // qRparser.setQueryResult(queryResult);
        if (queryResult.elements > 0) {
          qRparser.setPhysDoc(String.valueOf(xwConn.getNumDocFromQRElement(queryResult, 0)));
        } else {
          qRparser.setPhysDoc("");
        }
        // System.out.println("QUI CI ENTRO qRparser.getIdQR()!!!!!!!!" + qRparser.getIdQR());
      } else {
        qRparser = (QRParser) httpSession.getAttribute("QRParser");
        // mi serve per capire se ho selezionato un documento mentre pagino
        qRparser.setPhysDoc((String) httpSession.getAttribute("physDoc"));
      }

      if (!MyRequest.getParameter("pageToShow", parameterMap).equals("")) {
        pageToShow = Integer.parseInt(MyRequest.getParameter("pageToShow", parameterMap));
      }
      if (!MyRequest.getParameter("primo", parameterMap).equals("")) {
        currentPage = qRparser.getFirsPage();
        pageToShow = currentPage.getNumPage();
      } else if (!MyRequest.getParameter("ultimo", parameterMap).equals("")) {
        currentPage = qRparser.getLastPage();
        pageToShow = currentPage.getNumPage();
      } else if (!MyRequest.getParameter("before10", parameterMap).equals("")) {
        currentPage = qRparser.getBefore10Page(pageToShow);
        pageToShow = currentPage.getNumPage();
      } else if (!MyRequest.getParameter("before", parameterMap).equals("")) {
        currentPage = qRparser.getBeforePage(pageToShow);
        pageToShow = currentPage.getNumPage();
      } else if (!MyRequest.getParameter("next10", parameterMap).equals("")) {
        currentPage = qRparser.getNext10Page(pageToShow);
        pageToShow = currentPage.getNumPage();
      } else if (!MyRequest.getParameter("next", parameterMap).equals("")) {
        currentPage = qRparser.getNextPage(pageToShow);
        pageToShow = currentPage.getNumPage();
      } else {
        currentPage = qRparser.getPage(pageToShow);
      }
      titleBeans = currentPage.loadElementsXML(queryResult, xwConn);
      qRparser.setPerpage(perpage);
      httpSession.setAttribute("pageToShow", new Integer(pageToShow));
      httpSession.setAttribute("QRParser", qRparser);
      httpSession.setAttribute("QRPage", currentPage);
      // FINE PAGINAZIONE
    } catch (Exception e) {
      e.printStackTrace();
    }
    return titleBeans;
  }
 
  public List<TitleBean> pagingTitleBean(QueryResult queryResult, XWConnection xwConn) {
    List<TitleBean> titleBeans = new ArrayList<TitleBean>();
    WorkFlowBean workFlowBean = (WorkFlowBean) modelMap.get("workFlowBean");
    HttpSession httpSession = workFlowBean.getRequest().getSession(false);
    try {
      // INIZIO PAGINAZIONE
      int pageToShow = 1;
      QRParser qRparser = null;
      QRPage currentPage = null;
      int perpage = 10;
      if (!MyRequest.getParameter("perpage", parameterMap).equals("")) {
        perpage = Integer.parseInt(MyRequest.getParameter("perpage", parameterMap));
      } else if (MyRequest.getAttribute("perpage", workFlowBean.getRequest()) != null) {
        perpage = Integer.parseInt((String) MyRequest.getAttribute("perpage", workFlowBean.getRequest()));
      }
      if (MyRequest.getParameter("fromId", parameterMap).equals("") || !MyRequest.getParameter("perpageChanged", parameterMap).equals("")) {
        int from = 0;
        try {
          from = Integer.parseInt(MyRequest.getParameter("toElement", parameterMap));
        } catch (NumberFormatException exc) {
          from = 0;
        }
        int to = queryResult.elements;
        try {
          to = Integer.parseInt(MyRequest.getParameter("fromElement", parameterMap));
        } catch (NumberFormatException exc) {
          to = queryResult.elements;
        }
        qRparser = new QRParser(queryResult, perpage, from, to);
        qRparser.setIdQR(queryResult.id);
        qRparser.setQrElements(queryResult.elements);
        // qRparser.setQueryResult(queryResult);
        if (queryResult.elements > 0) {
          qRparser.setPhysDoc(String.valueOf(xwConn.getNumDocFromQRElement(queryResult, 0)));
        } else {
          qRparser.setPhysDoc("");
        }
        // System.out.println("QUI CI ENTRO qRparser.getIdQR()!!!!!!!!" + qRparser.getIdQR());
      } else {
        qRparser = (QRParser) httpSession.getAttribute("QRParser");
        // mi serve per capire se ho selezionato un documento mentre pagino
        qRparser.setPhysDoc((String) httpSession.getAttribute("physDoc"));
      }

      if (!MyRequest.getParameter("pageToShow", parameterMap).equals("")) {
        pageToShow = Integer.parseInt(MyRequest.getParameter("pageToShow", parameterMap));
      }
      if (!MyRequest.getParameter("primo", parameterMap).equals("")) {
        currentPage = qRparser.getFirsPage();
        pageToShow = currentPage.getNumPage();
      } else if (!MyRequest.getParameter("ultimo", parameterMap).equals("")) {
        currentPage = qRparser.getLastPage();
        pageToShow = currentPage.getNumPage();
      } else if (!MyRequest.getParameter("before10", parameterMap).equals("")) {
        currentPage = qRparser.getBefore10Page(pageToShow);
        pageToShow = currentPage.getNumPage();
      } else if (!MyRequest.getParameter("before", parameterMap).equals("")) {
        currentPage = qRparser.getBeforePage(pageToShow);
        pageToShow = currentPage.getNumPage();
      } else if (!MyRequest.getParameter("next10", parameterMap).equals("")) {
        currentPage = qRparser.getNext10Page(pageToShow);
        pageToShow = currentPage.getNumPage();
      } else if (!MyRequest.getParameter("next", parameterMap).equals("")) {
        currentPage = qRparser.getNextPage(pageToShow);
        pageToShow = currentPage.getNumPage();
      } else {
        currentPage = qRparser.getPage(pageToShow);
      }
      titleBeans = currentPage.loadTitleBean(queryResult, xwConn);
      qRparser.setPerpage(perpage);
      httpSession.setAttribute("pageToShow", new Integer(pageToShow));
      httpSession.setAttribute("QRParser", qRparser);
      httpSession.setAttribute("QRPage", currentPage);
      // FINE PAGINAZIONE
    } catch (Exception e) {
      e.printStackTrace();
    }
    return titleBeans;
  }

}
TOP

Related Classes of org.xdams.xw.paging.PagingTool

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.