/**
   * Method execute
   *
   * @param mapping
   * @param form
   * @param request
   * @param response
   * @return ActionForward
   */
  public ActionForward execute(
      ActionMapping mapping,
      ActionForm form,
      HttpServletRequest request,
      HttpServletResponse response)
      throws Exception {
    HttpSession session = request.getSession();
    //	System.out.println("checkpoint13");
    String numCount = (String) session.getAttribute("numCount");

    int count = Integer.parseInt(numCount);
    int remander = count % 2;
    System.out.println("checkpoint at corpo 2");
    AdvtMaster advtMaster = new AdvtMaster();
    RootMaster rootMaster = new RootMaster();
    IndvMaster indvMaster = new IndvMaster();

    String uId = (String) session.getAttribute("uId");
    String compId = (String) session.getAttribute("compId");

    System.out.println("compId..in Action avdt ........." + compId);
    //	int regFlag= rootMaster.getRegisteredFlag(getDataSource(request, "corpo"), compId);
    //	System.out.println("regFlag..in Action avdt ........."+regFlag);

    Vector allRights = (Vector) session.getAttribute("allRights");
    String adminFlag = allRights.elementAt(18).toString();

    //	 System.out.println("checkpoint at corpo 3");

    String pageid =
        (request.getParameter("pageid") != null) ? request.getParameter("pageid").trim() : "1";
    String aType =
        (request.getParameter("aType") != null) ? request.getParameter("aType").trim() : "0";
    String lowerSubTag =
        (request.getParameter("lowerSubTag") != null)
            ? request.getParameter("lowerSubTag").trim()
            : "1";
    String categoryid =
        (request.getParameter("categoryid") != null)
            ? request.getParameter("categoryid").trim()
            : "0";

    //	System.out.println("lowerSubTag..in Action avdt ........."+lowerSubTag);
    java.util.Date dt = new java.util.Date();
    SimpleDateFormat sform = new SimpleDateFormat("yyyy-MM-dd");
    String completeRemDate = sform.format(dt);
    StringTokenizer sttotal = new StringTokenizer(completeRemDate, ",");
    String creationDate = sttotal.nextToken();
    String dateToday[] = creationDate.split("-");
    String YR = dateToday[0];
    String DaY = dateToday[2];
    String MTH = dateToday[1];

    String month = (request.getParameter("Month") != null) ? request.getParameter("Month") : MTH;
    String nYear = (request.getParameter("Year") != null) ? request.getParameter("Year") : YR;

    System.out.println("month and yesar" + month + " " + nYear);
    String strShortBy =
        (request.getParameter("sby") != null) ? request.getParameter("sby") : "creation_date";
    String strSOrder = "";
    String strComFIdOrder = "asc";
    String strCTitelOrder = "asc";
    String strDateOrder = "asc";

    if (request.getParameter("sby") != null) {
      if (request.getParameter("fidorder") != null) {
        if (request.getParameter("fidorder").trim().equalsIgnoreCase("asc")) {
          strSOrder = "desc";
          strComFIdOrder = "desc";
        } else if (request.getParameter("fidorder").trim().equalsIgnoreCase("desc")) {
          strSOrder = "asc";
          strComFIdOrder = "asc";
        }
      }

      if (request.getParameter("ctorder") != null) {
        if (request.getParameter("ctorder").trim().equalsIgnoreCase("asc")) {
          strSOrder = "desc";
          strCTitelOrder = "desc";
        } else if (request.getParameter("ctorder").trim().equalsIgnoreCase("desc")) {
          strSOrder = "asc";
          strCTitelOrder = "asc";
        }
      }
      if (request.getParameter("dateorder") != null) {
        if (request.getParameter("dateorder").trim().equalsIgnoreCase("asc")) {
          strSOrder = "desc";
          strDateOrder = "desc";
        } else if (request.getParameter("dateorder").trim().equalsIgnoreCase("desc")) {
          strSOrder = "asc";
          strDateOrder = "asc";
        }
      }
    }
    String strFShortBy = strShortBy + " " + strSOrder;
    int minVal =
        (request.getParameter("numMin") != null)
            ? Integer.parseInt(request.getParameter("numMin"))
            : 0;
    int maxVal = 10;
    //// System.out.println("countVec.............InboxAction......minVal..... "+minVal);
    //// System.out.println("countVec.............InboxAction......maxVal..... "+maxVal);

    Vector<String> paramVec1 = new Vector<String>();
    paramVec1.add(uId);
    paramVec1.add(compId);
    paramVec1.add(adminFlag);
    paramVec1.add(pageid);

    Vector<String> paramVec = new Vector<String>();
    paramVec.add(String.valueOf(minVal));
    paramVec.add(String.valueOf(maxVal));
    paramVec.add(strFShortBy);
    paramVec.add(uId);
    paramVec.add(compId);
    paramVec.add(adminFlag);
    paramVec.add(pageid);

    int Cid = Integer.parseInt(compId);
    int Uid = Integer.parseInt(uId);
    int aFid = Integer.parseInt(adminFlag);

    Vector comVec = new Vector();
    Vector comListVec = new Vector();
    String comList = "";

    paramVec1.add("0");
    paramVec.add("0");

    ////// System.out.println("comList................on page."+comList);
    int totalRow = 0;
    paramVec1.add(lowerSubTag);
    paramVec1.add(categoryid);
    paramVec1.add(month);
    paramVec1.add(nYear);

    paramVec.add(lowerSubTag);
    paramVec.add(categoryid);
    paramVec.add(month);
    paramVec.add(nYear);
    totalRow = advtMaster.getComplaintCountL(getDataSource(request, "corpo"), paramVec1);
    Vector UserVec = advtMaster.getBrandComplaintList1L(getDataSource(request, "corpo"), paramVec);

    String country = "", state = "", city = "", brand = "", category = "", firstName = "";

    String countryName = "", stateName = "", cityName = "", brandName = "", categoryName = "";
    String searchFor = "";
    DataSource dataSource = getDataSource(request, "corpo");

    Vector userVec = (Vector) session.getAttribute("userVec");
    Vector cscVec = (Vector) session.getAttribute("cscVec");
    cscVec = userVec;
    Vector userTempVec = new Vector();
    if (session.getAttribute("userVec") != null) {
      userTempVec = (Vector) session.getAttribute("userVec");
      for (int i = 0; i < userTempVec.size(); i++) {
        if (userTempVec.elementAt(i).toString().equals("city =")) {
          city = userTempVec.elementAt(i + 1).toString().trim();
          cityName = rootMaster.getPlaceName(dataSource, Integer.parseInt(city));
          break;
        }
      }
    }
    Vector searchVec = new Vector();

    /*
     *  searchFor (0) Student.
     */

    if (searchFor.equalsIgnoreCase("0")) {
      if (session.getAttribute("searchVec") != null) {
        searchVec = (Vector) session.getAttribute("searchVec");
        for (int i = 0; i < searchVec.size(); i++) {
          paramVec.add(searchVec.elementAt(i).toString());
          if (searchVec.elementAt(i).toString().equals("course =")) {
            category = searchVec.elementAt(i + 1).toString().trim();
            Vector categoryNameVec =
                indvMaster.getCourseName(dataSource, Integer.parseInt(category.trim()));
            categoryName = categoryNameVec.elementAt(0).toString();
          }
          if (searchVec.elementAt(i).toString().equals("first_name like")) {
            firstName = searchVec.elementAt(i + 1).toString().trim();

            String teamCat1[] = firstName.split("%");
            ////////// System.out.println("teamCat[]>>>>>>>searchVec>>>>>>>"+teamCat1[1]);
            firstName = teamCat1[1];
          }
          if (searchVec.elementAt(i).toString().equals("college_id =")) {
            brand = searchVec.elementAt(i + 1).toString().trim();

            String StrArr[] = brand.split("~");
            int compnyid = Integer.parseInt(StrArr[0]);

            if (compnyid == 0) {
              compnyid = Integer.parseInt(userVec.elementAt(27).toString());
              Vector name = indvMaster.getOtherCollege(dataSource, compnyid);
              brandName = name.elementAt(0).toString().trim();
            } else if (StrArr[1].equalsIgnoreCase("1")) {
              brandName = rootMaster.getCompnyName(dataSource, compnyid);
            } else {
              brandName = rootMaster.getCollegeName(dataSource, compnyid);
            }
            // brandName

          }
        }
      }
      if (session.getAttribute("userVec") != null) {
        for (int i = 0; i < userVec.size(); i++) {
          paramVec.add(userVec.elementAt(i).toString());
        }
      }
    }

    String strPageHtml = getPages(minVal, maxVal, totalRow, lowerSubTag, pageid, numCount);

    int regFlag = 0;
    int numcount = UserVec.size();
    String strComplaintList =
        getComplaintList(
            searchFor,
            dataSource,
            numcount,
            strComFIdOrder,
            strCTitelOrder,
            strDateOrder,
            minVal,
            maxVal,
            totalRow,
            strPageHtml,
            UserVec,
            pageid,
            lowerSubTag,
            regFlag,
            city,
            brand,
            categoryName,
            cityName,
            brandName,
            remander,
            firstName,
            month,
            nYear);
    // System.out.println("Users "+strComplaintList);
    /**
     * setContentType - text/html to write String on page. PrintWriter - This line use to get writer
     * to write on page. out.println - use to write string.
     */
    response.setContentType("text/html;charset=ISO-8859-1");
    PrintWriter out = response.getWriter();
    out.println(strComplaintList);
    out.flush();

    // TODO Auto-generated method stub
    return null;
  }