/**
   * Is used to remember the order of variables so that the message returned to the OA does not
   * contain randomly ordered data.
   *
   * @param message The RuleML message
   * @return An array containing the order of the variables.
   */
  public static String[] getVariableOrder(String message) {
    Vector<String> variables = new Vector<String>();
    String[] variableList;
    // Break string up
    StringTokenizer st = new StringTokenizer(message, "<");

    String temp = ""; // Temporary storage
    String tempVar = ""; // Temporary variable storage

    // While information remains
    while (st.hasMoreTokens()) {
      temp = st.nextToken();
      // If it is a variable
      if (temp.startsWith("Var>")) {
        tempVar = "";
        // Get the name of the variable
        for (int i = 4; i < temp.length(); i++) {
          if (temp.charAt(i) == '<') break;
          else tempVar = tempVar + temp.charAt(i);
        }
        variables.addElement(tempVar); // Store the variable name
      }
    }
    // Convert the vector to an array
    variableList = new String[variables.size()];
    for (int i = 0; i < variables.size(); i++) {
      variableList[i] = variables.elementAt(i);
    }
    return variableList;
  }
Beispiel #2
0
 /**
  * Returns the value of the named parameter as a String, or null if the parameter was not sent or
  * was sent without a value. The value is guaranteed to be in its normal, decoded form. If the
  * parameter has multiple values, only the last one is returned (for backward compatibility). For
  * parameters with multiple values, it's possible the last "value" may be null.
  *
  * @param name the parameter name.
  * @return the parameter value.
  */
 public String getParameter(String name) {
   try {
     Vector values = (Vector) parameters.get(name);
     if (values == null || values.size() == 0) {
       return null;
     }
     String value = (String) values.elementAt(values.size() - 1);
     return value;
   } catch (Exception e) {
     return null;
   }
 }
Beispiel #3
0
 /**
  * Returns the values of the named parameter as a String array, or null if the parameter was not
  * sent. The array has one entry for each parameter field sent. If any field was sent without a
  * value that entry is stored in the array as a null. The values are guaranteed to be in their
  * normal, decoded form. A single value is returned as a one-element array.
  *
  * @param name the parameter name.
  * @return the parameter values.
  */
 public String[] getParameterValues(String name) {
   try {
     Vector values = (Vector) parameters.get(name);
     if (values == null || values.size() == 0) {
       return null;
     }
     String[] valuesArray = new String[values.size()];
     values.copyInto(valuesArray);
     return valuesArray;
   } catch (Exception e) {
     return null;
   }
 }
  public void doGet(HttpServletRequest req, HttpServletResponse res)
      throws IOException, ServletException {
    res.setContentType("text/html");
    try {
      PrintWriter pw = res.getWriter();
      pw.println("<html><head><TITLE>Web-Enabled Automated Manufacturing System</TITLE></head>");
      pw.println(
          "<body><br><br><br><form name=modifyuser method=post action='http://peers:8080/servlet/showUser')");
      v = U.allUsers();
      pw.println("<table align='center' border=0> <tr><td>");
      pw.println(
          "Select User Name To Modify</td><td><SELECT id=select1 name=uid style='HEIGHT: 22px; LEFT: 74px; TOP: 222px; WIDTH: 155px'>");
      pw.println("<OPTION selected value=''></OPTION>");
      for (i = 0; i < v.size(); i++)
        pw.println(
            "<OPTION value="
                + (String) v.elementAt(i)
                + ">"
                + (String) v.elementAt(i)
                + "</OPTION>");
      pw.println(
          "</SELECT></td></tr><tr><td></td><td><input type='submit' name='submit' value='Submit'></td></tr></table></form></body></html>");
      pw.flush();
      pw.close();

    } catch (Exception e) {
    }
  }
  private void _jspService(
      javax.servlet.http.HttpServletRequest request,
      javax.servlet.http.HttpServletResponse response,
      com.caucho.jsp.PageContextImpl pageContext,
      javax.servlet.ServletContext application,
      javax.servlet.http.HttpSession session,
      TagState _jsp_state)
      throws Throwable {
    javax.servlet.jsp.JspWriter out = pageContext.getOut();
    final javax.el.ELContext _jsp_env = pageContext.getELContext();
    javax.servlet.ServletConfig config = getServletConfig();
    javax.servlet.Servlet page = this;
    javax.servlet.jsp.tagext.JspTag _jsp_parent_tag = null;
    com.caucho.jsp.PageContextImpl _jsp_parentContext = pageContext;
    response.setContentType("text/html");
    response.setCharacterEncoding("utf-8");

    out.write(_jsp_string0, 0, _jsp_string0.length);
    CP_Classes.EthnicGroup ethnic;
    synchronized (pageContext.getSession()) {
      ethnic = (CP_Classes.EthnicGroup) pageContext.getSession().getAttribute("ethnic");
      if (ethnic == null) {
        ethnic = new CP_Classes.EthnicGroup();
        pageContext.getSession().setAttribute("ethnic", ethnic);
      }
    }
    out.write(_jsp_string1, 0, _jsp_string1.length);
    CP_Classes.Login logchk;
    synchronized (pageContext.getSession()) {
      logchk = (CP_Classes.Login) pageContext.getSession().getAttribute("logchk");
      if (logchk == null) {
        logchk = new CP_Classes.Login();
        pageContext.getSession().setAttribute("logchk", logchk);
      }
    }
    out.write(_jsp_string1, 0, _jsp_string1.length);
    CP_Classes.Translate trans;
    synchronized (pageContext.getSession()) {
      trans = (CP_Classes.Translate) pageContext.getSession().getAttribute("trans");
      if (trans == null) {
        trans = new CP_Classes.Translate();
        pageContext.getSession().setAttribute("trans", trans);
      }
    }
    out.write(_jsp_string1, 0, _jsp_string1.length);
    // added to check whether organisation is a consulting company
    // Mark Oei 09 Mar 2010
    out.write(_jsp_string1, 0, _jsp_string1.length);
    CP_Classes.Organization Org;
    synchronized (pageContext.getSession()) {
      Org = (CP_Classes.Organization) pageContext.getSession().getAttribute("Org");
      if (Org == null) {
        Org = new CP_Classes.Organization();
        pageContext.getSession().setAttribute("Org", Org);
      }
    }
    out.write(_jsp_string1, 0, _jsp_string1.length);
    CP_Classes.Create_Edit_Survey CE_Survey;
    synchronized (pageContext.getSession()) {
      CE_Survey =
          (CP_Classes.Create_Edit_Survey) pageContext.getSession().getAttribute("CE_Survey");
      if (CE_Survey == null) {
        CE_Survey = new CP_Classes.Create_Edit_Survey();
        pageContext.getSession().setAttribute("CE_Survey", CE_Survey);
      }
    }
    out.write(_jsp_string2, 0, _jsp_string2.length);
    // by lydia Date 05/09/2008 Fix jsp file to support Thai language
    out.write(_jsp_string3, 0, _jsp_string3.length);
    out.print((trans.tslt("Delete Ethnic Group")));
    out.write(_jsp_string4, 0, _jsp_string4.length);
    out.print((trans.tslt("Edit Ethnic Group")));
    out.write(_jsp_string5, 0, _jsp_string5.length);
    out.print((trans.tslt("Please enter Ethnic Group")));
    out.write(_jsp_string6, 0, _jsp_string6.length);
    out.print((trans.tslt("Add Ethnic Group")));
    out.write(_jsp_string7, 0, _jsp_string7.length);
    out.print((trans.tslt("Please enter Ethnic Group")));
    out.write(_jsp_string8, 0, _jsp_string8.length);

    String username = (String) session.getAttribute("username");

    if (!logchk.isUsable(username)) {
      out.write(_jsp_string9, 0, _jsp_string9.length);
    } else {

      if (request.getParameter("proceed") != null) {
        int PKOrg = new Integer(request.getParameter("proceed")).intValue();
        logchk.setOrg(PKOrg);
      }

      if (request.getParameter("Delete") != null) {

        int Ethnic_ID = new Integer(request.getParameter("ethnic_ID")).intValue();
        boolean bIsDeleted = ethnic.deleteRecord(Ethnic_ID, logchk.getPKUser());

        if (bIsDeleted) {

          out.write(_jsp_string10, 0, _jsp_string10.length);
        }
      }

      if (request.getParameter("Edit") != null) {
        int Ethnic_ID = new Integer(request.getParameter("ethnic_ID")).intValue();

        String txtEthnic = request.getParameter("txtEthnic");
        boolean bIsEdited =
            ethnic.editRecord(Ethnic_ID, txtEthnic, logchk.getOrg(), logchk.getPKUser());

        if (bIsEdited) {

          out.write(_jsp_string11, 0, _jsp_string11.length);

        } else {

          out.write(_jsp_string12, 0, _jsp_string12.length);
        }
      }

      if (request.getParameter("Add") != null) {

        String txtEthnic = request.getParameter("txtEthnic");

        boolean bExist = ethnic.existRecord(txtEthnic, logchk.getOrg());

        if (!bExist) {
          boolean bIsAdded = ethnic.addRecord(txtEthnic, logchk.getOrg(), logchk.getPKUser());

          if (bIsAdded) {

            out.write(_jsp_string13, 0, _jsp_string13.length);
          }
        } else {

          out.write(_jsp_string14, 0, _jsp_string14.length);
        }
      }

      out.write(_jsp_string15, 0, _jsp_string15.length);
      out.print((trans.tslt("Ethnic Group")));
      out.write(_jsp_string16, 0, _jsp_string16.length);
      out.print((trans.tslt("To Add, click on the Add button")));
      out.write(_jsp_string17, 0, _jsp_string17.length);
      out.print(
          (trans.tslt("To Edit, click on the relevant radio button and click on the Edit button")));
      out.write(_jsp_string17, 0, _jsp_string17.length);
      out.print(
          (trans.tslt(
              "To Delete, click on the relevant radio button and click on the Delete button")));
      out.write(_jsp_string18, 0, _jsp_string18.length);
      out.print((trans.tslt("Organisation")));
      out.write(_jsp_string19, 0, _jsp_string19.length);

      // Added to check whether organisation is also a consulting company
      // if yes, will display a dropdown list of organisation managed by this company
      // else, it will display the current organisation only
      // Mark Oei 09 Mar 2010
      String[] UserDetail = new String[14];
      UserDetail = CE_Survey.getUserDetail(logchk.getPKUser());
      boolean isConsulting = true;
      isConsulting =
          Org.isConsulting(UserDetail[10]); // check whether organisation is a consulting company
      if (isConsulting) {
        Vector vOrg = logchk.getOrgList(logchk.getCompany());

        for (int i = 0; i < vOrg.size(); i++) {
          votblOrganization vo = (votblOrganization) vOrg.elementAt(i);
          int PKOrg = vo.getPKOrganization();
          String OrgName = vo.getOrganizationName();

          if (logchk.getOrg() == PKOrg) {
            out.write(_jsp_string20, 0, _jsp_string20.length);
            out.print((PKOrg));
            out.write(_jsp_string21, 0, _jsp_string21.length);
            out.print((OrgName));
            out.write(_jsp_string22, 0, _jsp_string22.length);
          } else {
            out.write(_jsp_string20, 0, _jsp_string20.length);
            out.print((PKOrg));
            out.write('>');
            out.print((OrgName));
            out.write(_jsp_string22, 0, _jsp_string22.length);
          }
        }
      } else {
        out.write(_jsp_string23, 0, _jsp_string23.length);
        out.print((logchk.getSelfOrg()));
        out.write('>');
        out.print((UserDetail[10]));
        out.write(_jsp_string24, 0, _jsp_string24.length);
      } // End of isConsulting
      out.write(_jsp_string25, 0, _jsp_string25.length);
      out.print((trans.tslt("Ethnic Group")));
      out.write(_jsp_string26, 0, _jsp_string26.length);

      /** ****************** Edited by James 17 Oct 2007 ********************** */
      Vector v = ethnic.getAllEthnics(logchk.getOrg());

      for (int i = 0; i < v.size(); i++) {
        voEthnic vo = (voEthnic) v.elementAt(i);

        int ethnic_ID = vo.getPKEthnic();
        String ethnic_Desc = vo.getEthnicDesc();

        out.write(_jsp_string27, 0, _jsp_string27.length);
        out.print((ethnic_ID));
        out.write(_jsp_string28, 0, _jsp_string28.length);
        out.print((ethnic_Desc));
        out.write(_jsp_string29, 0, _jsp_string29.length);
        out.print((ethnic_Desc));
        out.write(_jsp_string30, 0, _jsp_string30.length);
      }

      out.write(_jsp_string31, 0, _jsp_string31.length);
      out.print((trans.tslt("Ethnic Group")));
      out.write(_jsp_string32, 0, _jsp_string32.length);
      out.print((trans.tslt("Add")));
      out.write(_jsp_string33, 0, _jsp_string33.length);
      out.print((trans.tslt("Edit")));
      out.write(_jsp_string34, 0, _jsp_string34.length);
      out.print((trans.tslt("Delete")));
      out.write(_jsp_string35, 0, _jsp_string35.length);
    }
    out.write(_jsp_string36, 0, _jsp_string36.length);
    // by lydia Date 05/09/2008 Fix jsp file to support Thai language
    out.write(_jsp_string37, 0, _jsp_string37.length);

    Calendar c = Calendar.getInstance();
    int year = c.get(Calendar.YEAR);

    out.write(_jsp_string38, 0, _jsp_string38.length);
    // Denise 05/01/2010 update new email address
    out.write(_jsp_string39, 0, _jsp_string39.length);
    out.print((year));
    out.write(_jsp_string40, 0, _jsp_string40.length);
  }
  private void _jspService(
      javax.servlet.http.HttpServletRequest request,
      javax.servlet.http.HttpServletResponse response,
      com.caucho.jsp.PageContextImpl pageContext,
      javax.servlet.ServletContext application,
      javax.servlet.http.HttpSession session,
      TagState _jsp_state)
      throws Throwable {
    javax.servlet.jsp.JspWriter out = pageContext.getOut();
    final javax.el.ELContext _jsp_env = pageContext.getELContext();
    javax.servlet.ServletConfig config = getServletConfig();
    javax.servlet.Servlet page = this;
    javax.servlet.jsp.tagext.JspTag _jsp_parent_tag = null;
    com.caucho.jsp.PageContextImpl _jsp_parentContext = pageContext;
    response.setContentType("text/html");
    response.setCharacterEncoding("utf-8");

    out.write(_jsp_string0, 0, _jsp_string0.length);
    CP_Classes.Login logchk;
    synchronized (pageContext.getSession()) {
      logchk = (CP_Classes.Login) pageContext.getSession().getAttribute("logchk");
      if (logchk == null) {
        logchk = new CP_Classes.Login();
        pageContext.getSession().setAttribute("logchk", logchk);
      }
    }
    out.write(_jsp_string1, 0, _jsp_string1.length);
    CP_Classes.Create_Edit_Survey CE_Survey;
    synchronized (pageContext.getSession()) {
      CE_Survey =
          (CP_Classes.Create_Edit_Survey) pageContext.getSession().getAttribute("CE_Survey");
      if (CE_Survey == null) {
        CE_Survey = new CP_Classes.Create_Edit_Survey();
        pageContext.getSession().setAttribute("CE_Survey", CE_Survey);
      }
    }
    out.write(_jsp_string2, 0, _jsp_string2.length);
    CP_Classes.Translate trans;
    synchronized (pageContext.getSession()) {
      trans = (CP_Classes.Translate) pageContext.getSession().getAttribute("trans");
      if (trans == null) {
        trans = new CP_Classes.Translate();
        pageContext.getSession().setAttribute("trans", trans);
      }
    }
    out.write(_jsp_string2, 0, _jsp_string2.length);
    CP_Classes.RatingTask RT;
    synchronized (pageContext.getSession()) {
      RT = (CP_Classes.RatingTask) pageContext.getSession().getAttribute("RT");
      if (RT == null) {
        RT = new CP_Classes.RatingTask();
        pageContext.getSession().setAttribute("RT", RT);
      }
    }
    out.write(_jsp_string2, 0, _jsp_string2.length);
    CP_Classes.RatingScale RS;
    synchronized (pageContext.getSession()) {
      RS = (CP_Classes.RatingScale) pageContext.getSession().getAttribute("RS");
      if (RS == null) {
        RS = new CP_Classes.RatingScale();
        pageContext.getSession().setAttribute("RS", RS);
      }
    }
    out.write(_jsp_string2, 0, _jsp_string2.length);
    CP_Classes.Purpose PRP;
    synchronized (pageContext.getSession()) {
      PRP = (CP_Classes.Purpose) pageContext.getSession().getAttribute("PRP");
      if (PRP == null) {
        PRP = new CP_Classes.Purpose();
        pageContext.getSession().setAttribute("PRP", PRP);
      }
    }
    out.write(_jsp_string2, 0, _jsp_string2.length);
    CP_Classes.SurveyRating SVR;
    synchronized (pageContext.getSession()) {
      SVR = (CP_Classes.SurveyRating) pageContext.getSession().getAttribute("SVR");
      if (SVR == null) {
        SVR = new CP_Classes.SurveyRating();
        pageContext.getSession().setAttribute("SVR", SVR);
      }
    }
    out.write(_jsp_string3, 0, _jsp_string3.length);
    // by lydia Date 05/09/2008 Fix jsp file to support Thai language
    out.write(_jsp_string4, 0, _jsp_string4.length);
    out.print((trans.tslt("Please choose a rating task")));
    out.write(_jsp_string5, 0, _jsp_string5.length);

    response.setHeader("Pragma", "no-cache");
    response.setHeader("Cache-Control", "no-cache");
    response.setDateHeader("expires", 0);

    String username = (String) session.getAttribute("username");
    if (!logchk.isUsable(username)) {
      out.write(_jsp_string6, 0, _jsp_string6.length);
    } else {

      if (request.getParameter("purpose") != null) {
        int var1 = new Integer(request.getParameter("purpose")).intValue();
        CE_Survey.setPurpose(var1);

        System.out.println("Purpose ID" + var1);
      } else {
        // Edited by Eric Lu 22/5/08
        // Resets purpose if first time accessing this page
        CE_Survey.setPurpose(0);
      }
      if (request.getParameter("add") != null) {
        String rating = "";
        String scale = "";
        boolean RequiredChosen = false;
        String[] chkSelect = new String[10];
        String[] ScaleDesc = new String[10];
        String[] radioSelect = new String[10];

        int SurveyID = CE_Survey.getSurvey_ID();
        ScaleDesc = request.getParameterValues("selScaleDesc");
        chkSelect = request.getParameterValues("chkRat");
        radioSelect = request.getParameterValues("radioRat");
        int count = 0; // count shifted, Mark Oei 16 April 2010

        /*------------------------------------------------- for checkbox ------------------------------------------------*/

        // Changed by Ha 28/05/09 to pop out message when action is done successfully
        if (chkSelect != null) {
          boolean added = false;
          count = 0; // change to declare variable outside if statement, Mark Oei 16 April 2010
          for (int i = 0; i < chkSelect.length; i++) {
            rating = chkSelect[i];

            if (rating != null) {

              String RatName = " ";
              RatName = RT.getRatingTask(Integer.parseInt(rating));

              ScaleDesc = new String[10];
              ScaleDesc = request.getParameterValues("selScaleDesc" + rating);
              for (int j = 0; j < ScaleDesc.length; j++) {
                scale = ScaleDesc[j];
                CE_Survey.editPurpose(SurveyID, CE_Survey.getPurpose());
                added = CE_Survey.addRating(SurveyID, scale, rating, RatName);
                if (added) count++;
              }
            }
          }
          // Added to insert default values into database when rating tasks are added
          // Mark Oei 16 April 2010
          int lLimit = 0;
          int uLimit = 0;
          int scaleRange = CE_Survey.getRatScale();

          int taskCount = (Integer) session.getAttribute("taskCount") + count;

          if ((taskCount == 1 && Integer.parseInt(rating) == 1)) {
            lLimit = scaleRange / 2 - 1;
            uLimit = scaleRange / 2 + 1;
          } else {
            lLimit = -1;
            uLimit = 1;
          }
          boolean isSuccessful = CE_Survey.setMinPassScore(SurveyID, lLimit, uLimit);
          if (isSuccessful) {
            System.out.println(
                "Default Limits " + lLimit + ", " + uLimit + " has been inserted successfully");
          }
          if (count == chkSelect.length) {
            out.write(_jsp_string7, 0, _jsp_string7.length);
          }
        }

        /*-------------------------------------------------------- for radiobox ----------------------------------------------*/

        rating = "";

        if (radioSelect != null) {
          for (int i = 0; i < radioSelect.length; i++) {
            rating = radioSelect[i];

            if (rating != null) {

              String RatName = RT.getRatingTask(Integer.parseInt(rating));

              ScaleDesc = new String[10];
              ScaleDesc = request.getParameterValues("selScaleDesc" + rating);
              for (int j = 0; j < ScaleDesc.length; j++) {
                scale = ScaleDesc[j];
                CE_Survey.addRating(SurveyID, scale, rating, RatName);
              }
            }
          }
        }

        out.write(_jsp_string8, 0, _jsp_string8.length);
      }

      out.write(_jsp_string9, 0, _jsp_string9.length);
      out.print((trans.tslt("To Select Rating Task, checked on the provided boxes under Select")));
      out.write(_jsp_string10, 0, _jsp_string10.length);
      out.print((trans.tslt("Purpose of Survey")));
      out.write(_jsp_string11, 0, _jsp_string11.length);
      out.print((trans.tslt("Choose one")));
      out.write(_jsp_string12, 0, _jsp_string12.length);

      Vector v = PRP.getAllPurpose();

      for (int i = 0; i < v.size(); i++) {
        votblPurpose vo = (votblPurpose) v.elementAt(i);
        int PurposeID = vo.getPurposeID();
        String PurposeName = vo.getPurposeName();

        if (CE_Survey.getPurpose() == PurposeID) {

          out.write(_jsp_string13, 0, _jsp_string13.length);
          out.print((PurposeID));
          out.write(_jsp_string14, 0, _jsp_string14.length);
          out.print((PurposeName));
          out.write(_jsp_string12, 0, _jsp_string12.length);
        } else {

          out.write(_jsp_string15, 0, _jsp_string15.length);
          out.print((PurposeID));
          out.write('>');
          out.print((PurposeName));
          out.write(_jsp_string12, 0, _jsp_string12.length);
        }
      }
      out.write(_jsp_string16, 0, _jsp_string16.length);
      out.print((trans.tslt("Scale Range Chosen")));
      out.write(_jsp_string17, 0, _jsp_string17.length);
      out.print((CE_Survey.getRatScale()));
      out.write(_jsp_string18, 0, _jsp_string18.length);
      out.print((trans.tslt("Rating Task")));
      out.write(_jsp_string19, 0, _jsp_string19.length);
      out.print((trans.tslt("Select")));
      out.write(_jsp_string20, 0, _jsp_string20.length);
      out.print((trans.tslt("Rating Task")));
      out.write(_jsp_string21, 0, _jsp_string21.length);
      out.print((trans.tslt("Scale Description")));
      out.write(_jsp_string22, 0, _jsp_string22.length);

      String query2 = "";
      boolean dunAddPR = false;

      int iRatingTaskID = SVR.getRatingTaskID(CE_Survey.getSurvey_ID());
      if (iRatingTaskID != 0) dunAddPR = true;

      boolean anyRecord = false;
      boolean anyscale = false;

      Vector vRT = RT.getRatingTask(CE_Survey.getSurvey_ID(), dunAddPR, CE_Survey.getPurpose());

      for (int i = 0; i < vRT.size(); i++) {
        anyRecord = true;
        votblRatingTask vo = (votblRatingTask) vRT.elementAt(i);
        int RatID = vo.getRatingTaskID();
        String RatName = vo.getRatingTask();
        String ScaleType = vo.getScaleType();

        out.write(_jsp_string23, 0, _jsp_string23.length);
        if (CE_Survey.getPurpose() != 9) {
          out.write(_jsp_string24, 0, _jsp_string24.length);
          out.print((RatID));
          out.write(_jsp_string25, 0, _jsp_string25.length);
        } else {
          if (RatID != 2 && RatID != 3) {
            out.write(_jsp_string26, 0, _jsp_string26.length);
            out.print((RatID));
            out.write(_jsp_string27, 0, _jsp_string27.length);
          } else {
            out.write(_jsp_string28, 0, _jsp_string28.length);
            out.print((RatID));
            out.write(_jsp_string29, 0, _jsp_string29.length);
          }
        }
        out.write(_jsp_string30, 0, _jsp_string30.length);
        out.print((RatName));
        out.write(_jsp_string31, 0, _jsp_string31.length);
        out.print(("selScaleDesc" + RatID));
        out.write(_jsp_string32, 0, _jsp_string32.length);

        Vector vScale =
            RS.getRatingScale(CE_Survey.getRatScale(), ScaleType, CE_Survey.get_survOrg());

        for (int j = 0; j < vScale.size(); j++) {
          votblScale voS = (votblScale) vScale.elementAt(j);
          anyscale = true;
          int ScaleID = voS.getScaleID();
          String ScaleDesc = voS.getScaleDescription();

          out.write(_jsp_string33, 0, _jsp_string33.length);
          out.print((ScaleID));
          out.write('>');
          out.print((ScaleDesc));
          out.write(_jsp_string34, 0, _jsp_string34.length);
        }
        out.write(_jsp_string35, 0, _jsp_string35.length);
      }

      if (anyRecord == false && CE_Survey.getPurpose() != 0) {

        out.write(_jsp_string36, 0, _jsp_string36.length);
        out.print(
            (trans.tslt("All the rating tasks under this purpose of survey have been added")));
        out.write(_jsp_string37, 0, _jsp_string37.length);
      }
      out.write(_jsp_string38, 0, _jsp_string38.length);
      if (anyRecord && anyscale) {

        out.write(_jsp_string39, 0, _jsp_string39.length);
        out.print((trans.tslt("Add")));
        out.write(_jsp_string40, 0, _jsp_string40.length);
      }
      out.write(_jsp_string41, 0, _jsp_string41.length);
      out.print((trans.tslt("Close")));
      out.write(_jsp_string42, 0, _jsp_string42.length);
    }
    out.write(_jsp_string43, 0, _jsp_string43.length);
  }
  private void _jspService(
      javax.servlet.http.HttpServletRequest request,
      javax.servlet.http.HttpServletResponse response,
      com.caucho.jsp.PageContextImpl pageContext,
      javax.servlet.ServletContext application,
      javax.servlet.http.HttpSession session,
      TagState _jsp_state)
      throws Throwable {
    javax.servlet.jsp.JspWriter out = pageContext.getOut();
    final javax.el.ELContext _jsp_env = pageContext.getELContext();
    javax.servlet.ServletConfig config = getServletConfig();
    javax.servlet.Servlet page = this;
    javax.servlet.jsp.tagext.JspTag _jsp_parent_tag = null;
    com.caucho.jsp.PageContextImpl _jsp_parentContext = pageContext;
    response.setContentType("text/html");
    response.setCharacterEncoding("utf-8");

    // Author: Dai Yong in June 2013
    out.write(_jsp_string0, 0, _jsp_string0.length);
    CP_Classes.Database Database;
    synchronized (pageContext.getSession()) {
      Database = (CP_Classes.Database) pageContext.getSession().getAttribute("Database");
      if (Database == null) {
        Database = new CP_Classes.Database();
        pageContext.getSession().setAttribute("Database", Database);
      }
    }
    out.write(_jsp_string1, 0, _jsp_string1.length);
    CP_Classes.Login logchk;
    synchronized (pageContext.getSession()) {
      logchk = (CP_Classes.Login) pageContext.getSession().getAttribute("logchk");
      if (logchk == null) {
        logchk = new CP_Classes.Login();
        pageContext.getSession().setAttribute("logchk", logchk);
      }
    }
    out.write(_jsp_string2, 0, _jsp_string2.length);
    Coach.LoginStatus LoginStatus;
    synchronized (pageContext.getSession()) {
      LoginStatus = (Coach.LoginStatus) pageContext.getSession().getAttribute("LoginStatus");
      if (LoginStatus == null) {
        LoginStatus = new Coach.LoginStatus();
        pageContext.getSession().setAttribute("LoginStatus", LoginStatus);
      }
    }
    out.write(_jsp_string1, 0, _jsp_string1.length);
    Coach.Coach Coach;
    synchronized (pageContext.getSession()) {
      Coach = (Coach.Coach) pageContext.getSession().getAttribute("Coach");
      if (Coach == null) {
        Coach = new Coach.Coach();
        pageContext.getSession().setAttribute("Coach", Coach);
      }
    }
    out.write(_jsp_string3, 0, _jsp_string3.length);

    String username = (String) session.getAttribute("username");

    if (!logchk.isUsable(username)) {

      out.write(_jsp_string4, 0, _jsp_string4.length);
    } else {

      if (request.getParameter("add") != null) {
        if (request.getParameter("Name") != null) {
          String name = request.getParameter("Name");
          String link = "";
          if (request.getParameter("Link") != "") {
            link = request.getParameter("Link");
          }

          // check whether SlotGroup name already exists in database
          Boolean Exist = false;

          Vector v = Coach.getAllCoach();
          for (int i = 0; i < v.size(); i++) {
            voCoach vo = (voCoach) v.elementAt(i);

            String coachName = vo.getCoachName();
            // System.out.println("Existing Schedule Name:"+slotGroupName);
            if (name.trim().equalsIgnoreCase((coachName.trim()))) {
              Exist = true;
              System.out.println("Same Coach Name");
            }
          }

          if (!Exist) {
            try {
              boolean add = Coach.addCoach(name, link);

              if (add) {

                out.write(_jsp_string5, 0, _jsp_string5.length);

              } else {

              }
            } catch (Exception SE) {
              System.out.println(SE);
            }
          } else {

            out.write(_jsp_string6, 0, _jsp_string6.length);
          }
        }
      }

      out.write(_jsp_string7, 0, _jsp_string7.length);
    }
    out.write(_jsp_string8, 0, _jsp_string8.length);
  }
  /**
   * This is the main controller logic for item selection servlet. This determines whether to show a
   * list of items for a WorkOrder, add a item, edit a item's detail information, or delete a item.
   * The product_action parameter is past to this servlet to determine what action to perform. The
   * product_action parameter is a button defined by JSPs related to product presentation screens.
   *
   * <p>The default action is to show all product related to a parent WorkOrder.
   *
   * @param req HttpServlet request
   * @param resp HttpServlet response
   */
  public void doPost(HttpServletRequest req, HttpServletResponse resp)
      throws ServletException, IOException {
    WorkOrderDetailRemote workorderdetEJBean = null;

    securityChecks(req, resp);

    // Get the current session
    HttpSession session = req.getSession(false);
    if (session == null) return;

    String sTmp = "";

    // Get a new business logic EJB (custInfoEJBean)
    USFEnv.getLog().writeDebug("getting buslogic EJB", this, null);
    try {
      workorderdetEJBean = workorderdetHome.create();
      USFEnv.getLog().writeDebug("EJBean Created", this, null);
    } catch (CreateException e) {
      String errorMsg = "Critical Exception in ItemsServlet";
      USFEnv.getLog().writeCrit(errorMsg + " failed EJB creation", this, e);
      errorJSP(req, resp, errorMsg);
      return;
    } catch (RemoteException e) {
      String errorMsg = "Critical Exception in ItemsServlet";
      USFEnv.getLog().writeCrit(errorMsg + " failed EJB connect", this, e);
      errorJSP(req, resp, errorMsg);
      return;
    } catch (Exception e) {
      String errorMsg = "Critical Exception no EJB created";
      USFEnv.getLog().writeCrit(errorMsg + " failed EJB creation", this, e);
      errorJSP(req, resp, errorMsg);
      return;
    }

    try {

      // Button user pressed in the itemselection.jsp
      String sJSPAction = req.getParameter("product_action");
      USFEnv.getLog().writeWarn("product_action from JSP: " + sJSPAction, this, null);

      short year = Short.valueOf((String) session.getValue("Iyear")).shortValue();
      long customerId = Long.valueOf((String) session.getValue("rcustId")).longValue();
      long applicationId = Long.valueOf((String) session.getValue("rappid")).longValue();
      long workorderId = 0;
      long bkId = 0;
      long billkeyId = 0;
      long bsId = 0;
      long wodId = 0;
      String editflag = "";
      String bsNm = "";

      java.sql.Date strtDate = null;
      java.sql.Date endDate = null;
      String prodError = "";

      // Check to make sure session does have an WorkOrder ID
      if (session.getValue("WorkOrderId") != null) {
        // If Yes get the parent WorkOrder ID from session
        workorderId = Long.valueOf((String) session.getValue("WorkOrderId")).longValue();
      }

      // Button Action from JSP is empty then show the Default page of the
      // Product Listing.
      if (USFUtil.isBlank(sJSPAction)) {
        USFEnv.getLog().writeDebug("Display product list for FRN.", this, null);
        // list items for parent Work Order Number

        Vector billingsystems = null;

        WrkOrdrDets workorderdets = new WrkOrdrDets();

        billingsystems = workorderdets.getBillingSystems();

        req.setAttribute("BillingSystems", billingsystems);

        for (int s = 0; s < billingsystems.size(); s++)
          USFEnv.getLog()
              .writeDebug("INSIDE BILLING SYSTEMS " + billingsystems.elementAt(s), this, null);

        listProducts(workorderId, workorderdetEJBean, session, req, resp);
        return;
      }

      // Button action from JSP is to Add a new Item
      else if (sJSPAction.equals("add")) {
        // Remove the Product Object from session
        session.removeValue("prodObj");

        editflag = "addnew";
        req.setAttribute("editflag", editflag);

        // Read the Item and the Billing System for adding the New
        // Item.
        String formProdBsId = (String) req.getParameter("formProdId");
        String formProdId = formProdBsId.substring(0, formProdBsId.indexOf("|"));
        String formProdName = formProdBsId.substring(formProdBsId.indexOf("|") + 1);
        long rscId = (new Long(formProdId).longValue());
        // bsId = (new Long( formBsId ).longValue()) ;
        String billSystem = formProdName.substring(0, formProdName.indexOf("-"));
        String itemName = formProdName.substring(formProdName.indexOf("-") + 1);

        BlgSys blgSys = new BlgSys();
        bsId = blgSys.getBsId(billSystem);

        // Create db connection for EJB
        workorderdetEJBean.connect();

        // Get the WorkOrder Object.
        WorkOrder woObj = workorderdetEJBean.getWorkOrderInfo(workorderId);

        // Get the list of Billing Keys for the Billing System.
        String[] blgKeys = workorderdetEJBean.getBillingKeys(customerId, bsId);

        // Release db connection for EJB
        workorderdetEJBean.release();

        // If no Billing Keys for the Billing System selected then redirect
        // to the List Items screen and show the error Message.
        if (blgKeys == null) {
          BlgSys blgsys = new BlgSys();
          Hashtable bSysList = (Hashtable) blgsys.searchBlgSys();
          //	Hashtable bSysList = (Hashtable) USFEnv.getBillSystems();

          // Set the JSP error message
          req.setAttribute("errorMsg", "No BTNs for Billing System " + billSystem);

          // list products for parent WorkOrder Number
          listProducts(workorderId, workorderdetEJBean, session, req, resp);
          return;
        }

        req.setAttribute("prodcredit", "N");
        req.setAttribute("bsystem", String.valueOf(bsId));
        req.setAttribute("bkList", blgKeys);
        req.setAttribute("prodId", formProdId);
        String wid = String.valueOf(workorderId);

        session.putValue("workorderId", wid);

        req.setAttribute("billingsystem", billSystem);

        req.setAttribute("itemname", itemName);

        // Include the JSP to Edit Product
        includeJSP(req, resp, ITEM_JSP_PATH, "editItem");
        return;
      }

      // Button action from JSP is to Edit a Product
      else if (sJSPAction.equals("edit")) {
        String bsysid = req.getParameter("bsId");
        session.putValue("bysysidforedit", bsysid);

        wodId = (new Long((String) req.getParameter("wodId"))).longValue();
        // bkId = (new Long( (String) req.getParameter("bkId"))).longValue() ;

        session.putValue("workorderdetid", String.valueOf(wodId));

        bsId = (new Long((String) req.getParameter("bsId"))).longValue();

        BlgSys blgSys = new BlgSys();
        bsNm = blgSys.getBsName(bsId);

        // Create db connection for EJB
        workorderdetEJBean.connect();

        // WorkOrder woObj = workorderdetEJBean.getWorkOrderInfo(workorderId);

        // Get the WorkOrder Number Object
        WrkOrdrDets wodets_obj = new WrkOrdrDets();
        wodets_obj = workorderdetEJBean.getProductInfo(wodId);

        // Get the List of Billing Keys for the Billing System.
        String[] blgKeys = workorderdetEJBean.getBillingKeys(customerId, bsId);

        // Check if the Item has any Credits. If any credits then Billing
        // Key is not Editable else Editable.
        if (workorderdetEJBean.hasCredits(wodId)) {
          req.setAttribute("prodcredit", "Y");
        } else {
          req.setAttribute("prodcredit", "N");
        }

        // Release db connection for EJB
        workorderdetEJBean.release();

        // If Item Object is not null (which generally is the case) then
        // set the Attributes for the JSP.
        if (wodets_obj != null) {
          // Put the Item Object in session
          editflag = "edit";
          session.putValue("wodets", wodets_obj);
          req.setAttribute("editflag", editflag);

          // Set the attributes for the Billing System, Billing Key List,
          req.setAttribute("bkList", blgKeys);
          req.setAttribute("bsname", bsNm);

          // Include the JSP to Edit the Item.
          includeJSP(req, resp, ITEM_JSP_PATH, "editItem");
          return;
        }

        // If Item Object is null (which generally should not Occur) show
        // the Default page of Item List for the WorkOrder Number
        else {
          // Set the JSP error message
          req.setAttribute(
              "errorMsg", "Product Key - " + wodId + " Information not available in the Data Base");

          // list items for parent WorkOrder Number
          listProducts(workorderId, workorderdetEJBean, session, req, resp);
          return;
        }

      }

      // Button action from JSP is to Delete an Item
      else if (sJSPAction.equals("delete")) {
        String formWodId = req.getParameter("wodId");

        wodId = (new Long((String) req.getParameter("wodId"))).longValue();

        // Create db connection for EJB
        workorderdetEJBean.connect();

        // Delete the Item
        if (workorderdetEJBean.deleteProduct(wodId)) {
          req.setAttribute("errorMsg", "Product Key - " + wodId + " Deleted");
        } else {
          req.setAttribute(
              "errorMsg",
              "Deletion Failed. Product Key - " + wodId + " is associated with amounts.");
        }
        // Release db connection for EJB
        workorderdetEJBean.release();

        // Show the Item List screen
        listProducts(workorderId, workorderdetEJBean, session, req, resp);
        return;

      }

      // Button action from JSP is to Save a Product. This includes Insertion
      // of New Product or Updation of an Existing Product.

      else if (sJSPAction.equals("save")) {
        boolean save = false;
        boolean newProd = false;
        // long qty=0;

        // Read the Billing System Id
        String formBsId = (String) req.getParameter("bs_id");

        String bsysid = (String) req.getParameter("bsysid");
        /*
        String trans_type = (String) req.getParameter("trans_type");

        //String quantity = (String) req.getParameter("qty");
        String quantity="";
        if (!(req.getParameter("qty").equals("")))
        {
        	quantity=(String) req.getParameter("qty");

        	qty = (new Long(quantity).longValue());
        } */
        String prod_stat = (String) req.getParameter("prod_stat");

        double nrcg_dscnt =
            (new Double((String) req.getParameter("NonRecurringDiscount"))).doubleValue();

        double rcg_dscnt =
            (new Double((String) req.getParameter("RecurringDiscount"))).doubleValue();

        String start_month = (String) req.getParameter("strt_month");
        String start_day = (String) req.getParameter("strt_day");
        String start_year = (String) req.getParameter("strt_year");
        String end_month = (String) req.getParameter("end_month");
        String end_day = (String) req.getParameter("end_day");
        String end_year = (String) req.getParameter("end_year");

        String start_date = start_month + "-" + start_day + "-" + start_year;

        String end_date = end_month + "-" + end_day + "-" + end_year;

        long wrkordrid = (new Long((String) session.getValue("WorkOrderId"))).longValue();

        String for_editing = req.getParameter("for_editing");
        String for_new = req.getParameter("for_new");

        String formBkId = (String) req.getParameter("bk_id");

        String formBKId = formBkId.substring(0, formBkId.indexOf("|"));

        String formBTN = formBkId.substring(formBkId.indexOf("|") + 1);

        billkeyId = (new Long(formBKId)).longValue();

        try {
          bsId = (new Long((String) req.getParameter("bs_id"))).longValue();
        } catch (Exception e) {
          USFEnv.getLog().writeDebug("Exception is " + e, this, null);
        }

        RHCCBlgKeys blgkeys = new RHCCBlgKeys();

        if (for_editing.equals("editing")) {
          blgkeys.setRbkId(billkeyId);
          blgkeys.setRbkKeys(formBTN);
          blgkeys.setBsId(new Long(bsysid).longValue());
        }

        if (for_new.equals("new")) {
          blgkeys.setRbkId(billkeyId);
          blgkeys.setRbkKeys(formBTN);
          blgkeys.setBsId(bsId);
        }

        int index = 0;

        WrkOrdrDets wod_obj = new WrkOrdrDets();

        // wod_obj.setTxTyp(trans_type);
        // wod_obj.setQty(qty);
        wod_obj.setNonRcrgDscnt(nrcg_dscnt);
        wod_obj.setRcrgDscnt(rcg_dscnt);
        wod_obj.setRBKID(billkeyId);
        wod_obj.setWodStat(prod_stat);
        wod_obj.setWOID(wrkordrid);

        if (!(start_date.equals(""))) {
          strtDate =
              new java.sql.Date((new SimpleDateFormat("MM-dd-yyyy")).parse(start_date).getTime());
          wod_obj.setStrtDat(strtDate);
        }
        // Else if the Start Date is null update the Item Object Date to
        // null
        else {
          wod_obj.setStrtDat(null);
        }

        // If Item Service End Date is not null read the date and update
        // the Item Object with the date
        if (!(end_date.equals(""))) {
          endDate =
              new java.sql.Date((new SimpleDateFormat("MM-dd-yyyy")).parse(end_date).getTime());
          wod_obj.setEndDat(endDate);
        }
        // Else if the End Date is null update the Item Object Date to null
        else {
          wod_obj.setEndDat(null);
        }

        // Check if the Start Date is after the End Date or equals End Date
        if ((strtDate != null) && (endDate != null) && (strtDate.after(endDate))) {
          prodError = "Product Service Start Date is after Product Service End Date. \n";
          index = 1;
        } else if ((strtDate != null) && (endDate != null) && (strtDate.equals(endDate))) {
          prodError = "Product Service Start Date equals Product Service End Date. \n";
        }

        workorderdetEJBean.connect();

        if (for_editing.equals("editing")) {
          long workorderdetID = (new Long((String) session.getValue("workorderdetid"))).longValue();
          wod_obj.setWODID(workorderdetID);

          if (index == 0) {
            save = workorderdetEJBean.saveProduct(wod_obj);
          }

          if (save) {
            prodError =
                prodError + "<BR> Product Key - " + wod_obj.getWODID() + " Information updated";
            req.setAttribute("error", prodError);
          } else {
            prodError = prodError + "<BR> Failed to update Product Information";
            req.setAttribute("error", prodError);
          }
        }

        if (for_new.equals("new")) {
          if (index == 0) {
            int prodId = Integer.parseInt(req.getParameter("prod_Id"));
            wod_obj.setProd_id(prodId);
            save = workorderdetEJBean.saveProduct(wod_obj);
          }

          if (save) {
            prodError =
                prodError + "<BR> Product Key - " + wod_obj.getWODID() + " Information Saved";
            req.setAttribute("error", prodError);
          } else {
            prodError = prodError + "<BR> Failed to Save Product Information";
            req.setAttribute("error", prodError);
          }
        }

        workorderdetEJBean.release();

        listProducts(wrkordrid, workorderdetEJBean, session, req, resp);
      }

    } // End of try block
    catch (Exception e) {
      if (workorderdetEJBean != null) {
        // calling bean release method
        try {
          workorderdetEJBean.release();
        } catch (Exception ex) {
          USFEnv.getLog().writeCrit(" Exception in calling release() method ", this, e);
        }
      }
      String errorMsg = "Processing Exception in Items Servlet: ";
      USFEnv.getLog().writeCrit(errorMsg, this, e);
      errorJSP(req, resp, errorMsg);
    } // End of catch block
  } // end of doPost()
Beispiel #9
0
  public void doGet(HttpServletRequest request, HttpServletResponse response)
      throws IOException, ServletException {
    response.setContentType("text/html");
    PrintWriter out = response.getWriter();
    ResultSet rs = null;
    try {
      // SET UP Context environment, to look for Data Pooling Resource
      Context initCtx = new InitialContext();
      Context envCtx = (Context) initCtx.lookup("java:comp/env");
      DataSource ds = (DataSource) envCtx.lookup("jdbc/TestDB");
      Connection dbcon = ds.getConnection();

      // ########### SEARCH INPUT PARAMETERS, EXECUTE search
      // #####################################################
      Vector<String> params = new Vector<String>();
      params.add(request.getParameter("fname"));
      params.add(request.getParameter("lname"));
      params.add(request.getParameter("title"));
      params.add(request.getParameter("year"));
      params.add(request.getParameter("director"));

      List<Movie> movies = new ArrayList<Movie>();
      movies = SQLServices.getMovies(params.toArray(new String[params.size()]), dbcon);

      // ########## SET DEFAULT SESSION() PARAMETERS ####################################
      request.getSession().removeAttribute("movies");
      request.getSession().removeAttribute("linkedListMovies");
      request.getSession().removeAttribute("hasPaged");
      request.getSession().setAttribute("hasPaged", "no");
      request.getSession().setAttribute("movies", movies);
      request.getSession().setAttribute("currentIndex", "0");
      request.getSession().setAttribute("defaultN", "5");

      // ########## IF MOVIES FROM SEARCH NON-EMPTY ###########################################
      List<String> fields = Movie.fieldNames();
      int count = 1;
      if (!movies.isEmpty()) {
        request.setAttribute("movies", movies);
        for (String field : fields) {
          request.setAttribute("f" + count++, field);
        }
        request.getRequestDispatcher("../movieList.jsp").forward(request, response);
      } else {
        out.println("<html><head><title>error</title></head>");
        out.println("<body><h1>could not find any movies, try your search again.</h1>");
        out.println("<p> we are terribly sorry, please go back. </p>");
        out.println("<table border>");
        out.println("</table>");
      }
      dbcon.close();

    } catch (SQLException ex) {
      while (ex != null) {
        System.out.println("SQL Exception:  " + ex.getMessage());
        ex = ex.getNextException();
      }
    } catch (java.lang.Exception ex) {
      out.println(
          "<html>"
              + "<head><title>"
              + "moviedb: error"
              + "</title></head>\n<body>"
              + "<p>SQL error in doGet: "
              + ex.getMessage()
              + "</p></body></html>");
      return;
    }
    out.close();
  }
  public void doPost(HttpServletRequest request, HttpServletResponse response)
      throws ServletException, IOException {

    // set the response

    Shepherd myShepherd = new Shepherd();

    Vector rEncounters = new Vector();

    // setup data dir
    String rootWebappPath = getServletContext().getRealPath("/");
    File webappsDir = new File(rootWebappPath).getParentFile();
    File shepherdDataDir = new File(webappsDir, CommonConfiguration.getDataDirectoryName());
    // if(!shepherdDataDir.exists()){shepherdDataDir.mkdir();}
    File encountersDir = new File(shepherdDataDir.getAbsolutePath() + "/encounters");
    // if(!encountersDir.exists()){encountersDir.mkdir();}

    // set up the files
    String gisFilename = "geneGIS_export_" + request.getRemoteUser() + ".csv";
    File gisFile = new File(encountersDir.getAbsolutePath() + "/" + gisFilename);

    myShepherd.beginDBTransaction();

    try {

      // set up the output stream
      FileOutputStream fos = new FileOutputStream(gisFile);
      OutputStreamWriter outp = new OutputStreamWriter(fos);

      try {

        EncounterQueryResult queryResult =
            EncounterQueryProcessor.processQuery(
                myShepherd, request, "year descending, month descending, day descending");
        rEncounters = queryResult.getResult();

        int numMatchingEncounters = rEncounters.size();

        // build the CSV file header
        StringBuffer locusString = new StringBuffer("");
        int numLoci = 2; // most covered species will be loci
        try {
          numLoci = (new Integer(CommonConfiguration.getProperty("numLoci"))).intValue();
        } catch (Exception e) {
          System.out.println("numPloids configuration value did not resolve to an integer.");
          e.printStackTrace();
        }

        for (int j = 0; j < numLoci; j++) {
          locusString.append(",Locus" + (j + 1) + " A1,Locus" + (j + 1) + " A2");
        }
        // out.println("<html><body>");
        // out.println("Individual ID,Other ID 1,Date,Time,Latitude,Longitude,Area,Sub
        // Area,Sex,Haplotype"+locusString.toString());

        outp.write(
            "Individual ID,Other ID 1,Date,Time,Latitude,Longitude,Area,Sub Area,Sex,Haplotype"
                + locusString.toString()
                + "\n");

        for (int i = 0; i < numMatchingEncounters; i++) {

          Encounter enc = (Encounter) rEncounters.get(i);
          String assembledString = "";
          if (enc.getIndividualID() != null) {
            assembledString += enc.getIndividualID();
          }
          if (enc.getAlternateID() != null) {
            assembledString += "," + enc.getAlternateID();
          } else {
            assembledString += ",";
          }

          String dateString = ",";
          if (enc.getYear() > 0) {
            dateString += enc.getYear();
            if (enc.getMonth() > 0) {
              dateString += ("-" + enc.getMonth());
              if (enc.getDay() > 0) {
                dateString += ("-" + enc.getDay());
              }
            }
          }
          assembledString += dateString;

          String timeString = ",";
          if (enc.getHour() > -1) {
            timeString += enc.getHour() + ":" + enc.getMinutes();
          }
          assembledString += timeString;

          if ((enc.getDecimalLatitude() != null) && (enc.getDecimalLongitude() != null)) {
            assembledString += "," + enc.getDecimalLatitude();
            assembledString += "," + enc.getDecimalLongitude();
          } else {
            assembledString += ",,";
          }

          assembledString += "," + enc.getVerbatimLocality();
          assembledString += "," + enc.getLocationID();
          assembledString += "," + enc.getSex();

          // find and print the haplotype
          String haplotypeString = ",";
          if (enc.getHaplotype() != null) {
            haplotypeString += enc.getHaplotype();
          }

          // find and print the ms markers
          String msMarkerString = "";
          List<TissueSample> samples = enc.getTissueSamples();
          int numSamples = samples.size();
          boolean foundMsMarkers = false;
          for (int k = 0; k < numSamples; k++) {
            if (!foundMsMarkers) {
              TissueSample t = samples.get(k);
              List<GeneticAnalysis> analyses = t.getGeneticAnalyses();
              int aSize = analyses.size();
              for (int l = 0; l < aSize; l++) {
                GeneticAnalysis ga = analyses.get(l);
                if (ga.getAnalysisType().equals("MicrosatelliteMarkers")) {
                  foundMsMarkers = true;
                  MicrosatelliteMarkersAnalysis ga2 = (MicrosatelliteMarkersAnalysis) ga;
                  List<Locus> loci = ga2.getLoci();
                  int localLoci = loci.size();
                  for (int m = 0; m < localLoci; m++) {
                    Locus locus = loci.get(m);
                    if (locus.getAllele0() != null) {
                      msMarkerString += "," + locus.getAllele0();
                    } else {
                      msMarkerString += ",";
                    }
                    if (locus.getAllele1() != null) {
                      msMarkerString += "," + locus.getAllele1();
                    } else {
                      msMarkerString += ",";
                    }
                  }
                }
              }
            }
          }

          // out.println("<p>"+assembledString+haplotypeString+msMarkerString+"</p>");
          outp.write(assembledString + haplotypeString + msMarkerString + "\n");
        }
        outp.close();
        outp = null;

        // now write out the file
        response.setContentType("text/csv");
        response.setHeader("Content-Disposition", "attachment;filename=" + gisFilename);
        ServletContext ctx = getServletContext();
        // InputStream is = ctx.getResourceAsStream("/encounters/"+gisFilename);
        InputStream is = new FileInputStream(gisFile);

        int read = 0;
        byte[] bytes = new byte[BYTES_DOWNLOAD];
        OutputStream os = response.getOutputStream();

        while ((read = is.read(bytes)) != -1) {
          os.write(bytes, 0, read);
        }
        os.flush();
        os.close();

      } catch (Exception ioe) {
        ioe.printStackTrace();
        response.setContentType("text/html");
        PrintWriter out = response.getWriter();
        out.println(ServletUtilities.getHeader(request));
        out.println(
            "<html><body><p><strong>Error encountered</strong> with file writing. Check the relevant log.</p>");
        out.println(
            "<p>Please let the webmaster know you encountered an error at: EncounterSearchExportGeneGISFormat servlet</p></body></html>");
        out.println(ServletUtilities.getFooter());
        out.close();
        outp.close();
        outp = null;
      }

    } catch (Exception e) {
      e.printStackTrace();
      response.setContentType("text/html");
      PrintWriter out = response.getWriter();
      out.println(ServletUtilities.getHeader(request));
      out.println("<html><body><p><strong>Error encountered</strong></p>");
      out.println(
          "<p>Please let the webmaster know you encountered an error at: EncounterSearchExportGeneGISFormat servlet</p></body></html>");
      out.println(ServletUtilities.getFooter());
      out.close();
    }
    myShepherd.rollbackDBTransaction();
    myShepherd.closeDBTransaction();
  }
  public void _jspService(HttpServletRequest request, HttpServletResponse response)
      throws java.io.IOException, ServletException {

    JspFactory _jspxFactory = null;
    javax.servlet.jsp.PageContext pageContext = null;
    HttpSession session = null;
    ServletContext application = null;
    ServletConfig config = null;
    JspWriter out = null;
    Object page = this;
    JspWriter _jspx_out = null;

    try {
      _jspxFactory = JspFactory.getDefaultFactory();
      response.setContentType("text/html;charset=ISO-8859-1");
      pageContext = _jspxFactory.getPageContext(this, request, response, null, true, 8192, true);
      application = pageContext.getServletContext();
      config = pageContext.getServletConfig();
      session = pageContext.getSession();
      out = pageContext.getOut();
      _jspx_out = out;

      out.write("\n\n");
      out.write("\n");
      out.write("\n");
      out.write("\n");
      out.write("\n\n\n");
      out.write("\n\n");

      Vector vMibs = (Vector) request.getAttribute("mibs");

      String strIp = (String) request.getAttribute("ip");
      if (strIp == null) strIp = "";

      String strCommunity = (String) request.getAttribute("cs");
      if (strCommunity == null) strCommunity = "";

      String strPort = (String) request.getAttribute("port");
      if (strPort == null) strPort = "161";

      String strRetries = (String) request.getAttribute("retries");
      if (strRetries == null) strRetries = "1";

      String strTimeout = (String) request.getAttribute("timeout");
      if (strTimeout == null) strTimeout = "3000";

      String strOID = (String) request.getAttribute("oid");
      if (strOID == null) strOID = "";

      String strDesc = (String) request.getAttribute("desc");
      if (strDesc == null) strDesc = "";

      String strASN1 = (String) request.getAttribute("asn1");
      if (strASN1 == null) strASN1 = "";

      String authpass = (String) request.getAttribute("authpass");
      if (authpass == null) authpass = "";

      String privpass = (String) request.getAttribute("privpass");
      if (privpass == null) privpass = "";

      String version = (String) request.getAttribute("version");
      if (version == null) version = "version 1";

      String securityname = (String) request.getAttribute("securityname");
      if (securityname == null) securityname = "";

      String seclevel = (String) request.getAttribute("seclevel");
      if (seclevel == null) seclevel = "AUTH_PRIV";

      String authproto = (String) request.getAttribute("authproto");
      authproto = authproto == null ? "MD5" : authproto;

      String privproto = (String) request.getAttribute("privproto");
      privproto = privproto == null ? "DES" : privproto;

      out.write("\n\n\n");
      out.write("<html>\n");
      out.write("<head>\n  ");
      out.write("<title>WebTelemetry - Tools - SNMP Walk");
      out.write("</title>\n  ");
      out.write(
          "<link rel=\"stylesheet\" type=\"text/css\" href=\"/wt-portal/css/default.css\" />\n  ");
      out.write("<script type=\"text/javascript\" src=\"/wt-portal/javascript/WTtools.js\">");
      out.write("</script>\n\n\n\t");
      out.write(
          "<script type=text/javascript>\n\t\n\t// Validate the SNMP form\n\tfunction validateForm()\n\t{\n\t    var seclevel = \"\";\n\t\tvar seclevelChecked = \"\";\n\t\tif (document.snmpwalk.ip.value == \"\" ) \n\t\t{\n\t\t    alert (\"Please fill in the ip address field.\");\n\t\t    return false;\n\t\t}\n\t\telse \n\t\t{\n\t\t\tif (!verifyIP(document.snmpwalk.ip.value))\n\t\t\t{\n\t\t\t\tdocument.snmpwalk.ip.focus();\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\t\t\t\t\t\t\n\t\tif (document.snmpwalk.port.value != \"\" ) \n\t\t{\n\t\t\tif (!checkInteger(trim(document.snmpwalk.port.value))) {\n\t            alert (\"Please enter a whole number for 'Port' and try again.\");\n\t            document.snmpwalk.port.focus();\n\t            return false;\n\t        }\n\t    }\n\t    \n\t    if (document.snmpwalk.retries.value != \"\" ) \n\t\t{\n\t\t\tif (!checkInteger(trim(document.snmpwalk.retries.value))) {\n\t            alert (\"Please enter a whole number for 'Retries' and try again.\");\n\t            document.snmpwalk.retries.focus();\n\t            return false;\n\t        }\n\t    }\n\t    \n\t    if (document.snmpwalk.timeout.value != \"\" ) \n\t\t{\n");
      out.write(
          "\t\t\tif (!checkInteger(trim(document.snmpwalk.timeout.value))) {\n\t            alert (\"Please enter a whole number for 'Timeout' and try again.\");\n\t            document.snmpwalk.timeout.focus();\n\t            return false;\n\t        }\n\t    }\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\tvar sel = document.getElementById( \"version\");\t\t\t\n\t\tvar opt = sel.options[ sel.selectedIndex];\t\n\t\t\n\t\tif( opt.text != \"version 3\")\n\t\t{\n\t\t\t// Community String\n\t\t\tvar cs = document.snmpwalk.cs.value;\n\t\t\tif (cs == \"\" || cs == null || trim(cs).length ");
      out.write(
          "<= 0)\n\t\t\t{\n\t\t    \talert (\"Please fill in the community string field.\");\n\t\t    \tdocument.snmpwalk.cs.focus();\n\t\t    \treturn false;\n\t\t    }\n\t\t}\n\t\telse\n        {\n            // Security name\n            var secname = document.getElementById( \"securityname\");  \n            if( secname.value == null || trim(secname.value).length == 0)\n            {\n                alert( \"Please enter a security name\");\n                secname.focus();\n                return false;\n            }\n\n            //Find Security level, pass checks\n\t\t\tfor (var i = 0; i ");
      out.write(
          "< document.snmpwalk.seclevel.length; i++)  \n\t\t\t{ \n\t\t\t\tseclevel = document.snmpwalk.seclevel[i].value;\n\t\t\t\tsecChecked = document.snmpwalk.seclevel[i].checked;\n\t\t\n\t\t\t\tif (secChecked){\n\t\t\t\t\tseclevelChecked = seclevel;\n\t\t\t\t}\n\t\n\t\t\t\tif ( (seclevel == \"AUTH_PRIV\") && (secChecked) )\n\t\t\t\t{\n\t\t\t\t\tif( !checkAuthPassFld() || !checkPrivPassFld())\n\t              \t{            \t\n\t               \t\treturn false;\n\t           \t\t}\t\n\t\t\t\t}\n\t\t\t\telse\n\t        \t{\n\t\t \t\t\tif( (seclevel == \"AUTH_NOPRIV\") && (secChecked && !checkAuthPassFld()) )\n\t\t         \t{                \t\n\t\t        \t\treturn false;\n\t\t     \t\t}\n\t\t   \t\t}    \n\t\t\t}   \n        }\n\t    \n\t\t// The following is needed to support Mozilla & IE browsers with retrieving values from drop-down boxes (version, authproto, privproto).\n\t\tvar versionSel = document.snmpwalk.version;\n\t\tvar versionVal = versionSel.options[ versionSel.selectedIndex].text;\t\n\t\tvar authprotoSel = document.snmpwalk.authproto;\n\t\tvar authprotoVal = authprotoSel.options[ authprotoSel.selectedIndex].text;\t\n\t\tvar privprotoSel = document.snmpwalk.privproto;\n");
      out.write(
          "\t\tvar privprotoVal = privprotoSel.options[ privprotoSel.selectedIndex].text;\n\t\t\n\t\t// The followings are needed to avoid passing inappropriate SNMP version-dependent browser saved values to the servlet. \n\t\tvar authpassVal = document.snmpwalk.authpass.value; \n\t\tvar privpassVal = document.snmpwalk.privpass.value; \n\t\tvar communityStr = document.snmpwalk.cs.value;\n\t\t\n\t\tif (versionVal == \"version 3\")\n\t\t{\n\t\t\tcommunityStr = \"\";\n\t\t\tif (seclevelChecked == \"AUTH_NOPRIV\")\n\t\t\t{\n\t\t\t\tprivpassVal = \"\";\n\t\t\t\tprivprotoVal = \"\"; \n\t\t\t}\n\t\t\telse if (seclevelChecked == \"NOAUTH_NOPRIV\")\n\t\t\t{\n\t\t\t\tauthpassVal = \"\";\n\t\t\t\tauthprotoVal = \"\";\n\t\t\t\tprivpassVal = \"\";\n\t\t\t\tprivprotoVal = \"\"; \n\t\t\t}\n\t\t}\n\t\telse \n\t\t{\n\t\t\tauthpassVal = \"\";\n\t\t\tauthprotoVal = \"\";\n\t\t\tprivpassVal = \"\";\n\t\t\tprivprotoVal = \"\"; \n\t\t}\n\t\t\n\t    top.frames[1].document.snmpwalk.ip.value=document.snmpwalk.ip.value;\t    \t\t\n\t    top.frames[1].document.snmpwalk.oid.value=document.snmpwalk.oid.value;\t\n\t    top.frames[1].document.snmpwalk.port.value=document.snmpwalk.port.value;\n\t    top.frames[1].document.snmpwalk.retries.value=document.snmpwalk.retries.value;\n");
      out.write(
          "\t    top.frames[1].document.snmpwalk.timeout.value=document.snmpwalk.timeout.value;\n\t    top.frames[1].document.snmpwalk.cs.value=communityStr;\t\t\n\t    top.frames[1].document.snmpwalk.version.value=versionVal;  \t\t\t\n\t    top.frames[1].document.snmpwalk.securityname.value=document.snmpwalk.securityname.value; \n\t    top.frames[1].document.snmpwalk.seclevel.value=seclevelChecked; \t\t\n\t    top.frames[1].document.snmpwalk.authpass.value=authpassVal; \t\n\t    top.frames[1].document.snmpwalk.authproto.value=authprotoVal; \t\n\t    top.frames[1].document.snmpwalk.privpass.value=privpassVal; \t\n\t    top.frames[1].document.snmpwalk.privproto.value=privprotoVal;    \n\t    top.frames[1].document.snmpwalk.button.value='GetResults';\n\t    top.frames[1].document.snmpwalk.submit();\n\t    \n\t    return true;   \n\t}\n\n\t// Validate ASN.1 value\n\tfunction validateLookup()\n\t{\n\t    if (document.snmpwalk.desc.value == \"\" ) \n\t\t{\n\t\t    alert (\"Please fill in ASN.1 Description (example: hrStorageDescr).\");\n\t\t    return false;\n\t\t}\n\t\telse\n\t\t\treturn true;\n");
      out.write(
          "\t}\n\t\n\t// Show MIB pop-up window\n\tfunction viewMIB()\n\t{\n\t    if (document.snmpwalk.mibs.selectedIndex == -1 ) \n\t\t{\n\t\t    alert (\"Please select a MIB to view.\");\n\t\t}\n\t\tvar mib = document.snmpwalk.mibs.options[document.snmpwalk.mibs.selectedIndex];\n\t    var win = window.open('");
      out.print(WTTools.getMibURL(request));
      out.write(
          "' + mib.text, '', \n\t\t\t'status=yes,resizeable=yes,scrollbars=yes,menubar=yes,height=600,width=800');\t\n\t    return false;\n\t}\n\t\n\t// hide element\n    function hide( targetId)\n    {\n        if (document.getElementById)\n        {\n            target = document.getElementById(targetId);\n            target.style.visibility = \"hidden\";\n            target.style.display = \"none\";\n        }\n    }\n    // show element\n    function show( targetId)\n    {\n        if (document.getElementById)\n        {\n            target = document.getElementById(targetId);\n            target.style.visibility = \"visible\";\n            target.style.display = \"\";\n        }\n    }\n    \n    // Adjust frame\n    function adjustFrames(topFrameSize)\n    {\n    \tvar framesSize = topFrameSize + \",*\";\n    \tparent.document.getElementById(\"snmpframes\").rows = framesSize;   \n    }\n\n\t\n\t// Check for SNMPv3 selection\n\tfunction checkForSNMPv3()\n\t{\n\t\tvar sel = document.getElementById( \"version\");\n\t\tvar opt = sel.options[ sel.selectedIndex];\n\t\tif( opt.text == \"version 3\")\n");
      out.write(
          "\t\t{\t\t\t\n\t\t\thide (\"csOptions\");\n\t\t\tshow (\"snmpOptions\"); \n\t\t\tadjustFrames(420);\n\t\t\tcheckSecLevel();\t\t\t\n\t\t}\n\t\telse\n\t\t{\t\t\t\n\t\t\tshow (\"csOptions\");\n\t\t\thide (\"snmpOptions\"); \n\t\t\thide (\"authOptions\");   \n\t\t\thide (\"privOptions\");   \n\t\t\tadjustFrames(270);\n\t\t}\n\n\t\t// This is work around for IE browsers which do not support ");
      out.write(
          "<option disabled>\n\t\t// This text will not appear for any other browsers as this option can never be selected \n\t\tif(( opt.text == \"SNMPv3 disabled\") || ( opt.text == \"SNMPv3 expired\"))\n\t\t{\n\t\t\talert(\"You are currently not licensed to use this feature.  Please contact your sales representative for questions regarding this feature.\");\n\n\t\t\t// When the user selects SNMP v3 feature, select index is changed to version 1\n\t\t\tsel.selectedIndex = sel.options[sel.selectedIndex];\n\t\t}\n\t}\n\t\n\t// Check Auth Passphrase\n\tfunction checkAuthPassFld()\n    {\n        var authpass = document.getElementById( \"authpassfld\");\n        if( authpass.value == null || authpass.value.length ");
      out.write(
          "< 8)\n        {\n            alert( \"Authentication Passphrase must be 8 characters or more\");\n            authpass.focus();\n            return false;\n        }\n\n        return true;\n    }\n    \n    // Check Privacy Passphrase\n    function checkPrivPassFld()\n    {\n        var privpass = document.getElementById( \"privpassfld\");\n        if( privpass.value == null || privpass.value.length ");
      out.write(
          "< 8)\n        {\n            alert( \"Privacy Passphrase must be 8 characters or more\");\n            privpass.focus();\n            return false;\n        }\n\n        return true;\n    }\n    \n    function checkSecLevel()\n    { \n    \tvar secLevelChecked;   \t\n    \tfor (var i = 0; i ");
      out.write(
          "< document.snmpwalk.seclevel.length; i++)  \n\t\t{ \n\t\t\tvar seclevel = document.snmpwalk.seclevel[i].value;\n\t\t\tvar secChecked = document.snmpwalk.seclevel[i].checked;\n\t\t\tif ( secChecked )\n\t\t\t{\n\t\t\t\tsecLevelChecked = seclevel;\n\t\t\t}\n\t\t}\t\t\n\t\t\n\t\tif ( secLevelChecked == \"AUTH_PRIV\" )\n\t\t{\n\t\t\tif( checkAuthPassFld() || checkPrivPassFld())\n         \t{\n\t\t\t\tshowAuthPriv();\t\n\t\t\t}\n\t\t}\n\t\telse \n    \t{\t    \t\t\n\t  \t\tif ( (secLevelChecked == \"AUTH_NOPRIV\") && checkAuthPassFld() )\n\t    \t{\n\t     \t\tshowAuth();\n\t  \t\t}\n\t  \t\telse \n\t    \t{\n\t    \t\thideAuthPriv();\n\t    \t}\n   \t\t} \n    }\n    \n \n\tfunction showAuthPriv()\n\t{\n\t\tshow( \"authOptions\");\n\t\tshow( \"privOptions\");\n\t}\n\t    \n\t\n\tfunction showAuth()\n\t{\n\t\tshow( \"authOptions\");\n\t\thide( \"privOptions\");\n\t}\n\t    \n\t\n\tfunction hideAuthPriv()\n\t{\n\t\thide( \"authOptions\");\n\t \thide( \"privOptions\");\n\t}\n\t\n\tfunction checkForSpaces( evt)\n    {\n        evt = (evt) ? evt : ((window.event) ? event : null);\n        if( evt)\n        {\n            var elem = (evt.target) ? evt.target : ((evt.srcElement) ? evt.srcElement : null);\n");
      out.write(
          "            if( elem)\n            {\n                var charCode = (evt.charCode) ? evt.charCode : ((evt.which) ? evt.which : evt.keyCode);\n                return( charCode != 32);\n            }\n        }\n    }\n\n\t");
      out.write("</script>\n");
      out.write("</head>\n\n\n");
      out.write("<body onload='checkForSNMPv3()'>\n");
      /* ----  c:import ---- */
      org.apache.taglibs.standard.tag.el.core.ImportTag _jspx_th_c_import_0 =
          (org.apache.taglibs.standard.tag.el.core.ImportTag)
              _jspx_tagPool_c_import_url_context.get(
                  org.apache.taglibs.standard.tag.el.core.ImportTag.class);
      _jspx_th_c_import_0.setPageContext(pageContext);
      _jspx_th_c_import_0.setParent(null);
      _jspx_th_c_import_0.setContext("/wt-monitor");
      _jspx_th_c_import_0.setUrl("/includes/header.jsp");
      int[] _jspx_push_body_count_c_import_0 = new int[] {0};
      try {
        int _jspx_eval_c_import_0 = _jspx_th_c_import_0.doStartTag();
        if (_jspx_eval_c_import_0 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
          if (_jspx_eval_c_import_0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
            javax.servlet.jsp.tagext.BodyContent _bc = pageContext.pushBody();
            _jspx_push_body_count_c_import_0[0]++;
            out = _bc;
            _jspx_th_c_import_0.setBodyContent(_bc);
            _jspx_th_c_import_0.doInitBody();
          }
          do {
            out.write("\n\t");
            if (_jspx_meth_c_param_0(
                _jspx_th_c_import_0, pageContext, _jspx_push_body_count_c_import_0)) return;
            out.write("\n\t");
            if (_jspx_meth_c_param_1(
                _jspx_th_c_import_0, pageContext, _jspx_push_body_count_c_import_0)) return;
            out.write("\n\t");
            if (_jspx_meth_c_param_2(
                _jspx_th_c_import_0, pageContext, _jspx_push_body_count_c_import_0)) return;
            out.write("\n\t");
            if (_jspx_meth_c_param_3(
                _jspx_th_c_import_0, pageContext, _jspx_push_body_count_c_import_0)) return;
            out.write("\n");
            int evalDoAfterBody = _jspx_th_c_import_0.doAfterBody();
            if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN) break;
          } while (true);
          if (_jspx_eval_c_import_0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE)
            out = pageContext.popBody();
          _jspx_push_body_count_c_import_0[0]--;
        }
        if (_jspx_th_c_import_0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) return;
      } catch (Throwable _jspx_exception) {
        while (_jspx_push_body_count_c_import_0[0]-- > 0) out = pageContext.popBody();
        _jspx_th_c_import_0.doCatch(_jspx_exception);
      } finally {
        _jspx_th_c_import_0.doFinally();
        _jspx_tagPool_c_import_url_context.reuse(_jspx_th_c_import_0);
      }
      out.write("\n\n");
      out.write("<!-- BEGIN FRAMING TABLE:open tags, keep at 100%-->\n");
      out.write("<table width=\"100%\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\">\n\t");
      out.write("<tr valign=\"top\">\n\t\t");
      out.write("<td valign=\"top\" width=\"10\">");
      out.write(
          "<img src=\"/wt-portal/images/spacers/spacer.gif\" height=\"1\" width=\"10\" border=\"0\" alt=\"WebTelemetry\">");
      out.write("</td>\n\t\t");
      out.write("<td>\n");
      out.write("<!-- END FRAMING TABLE:open tags, keep at 100%-->\n\n");
      out.write("<form action=\"");
      out.print(WTTools.getServletURL(request));
      out.write("WTsnmpWalkServlet\" method=\"get\" name=\"snmpwalk\" autocomplete=\"off\">\n\n");
      out.write(
          "<table width=\"100%\" valign=\"top\" cellspacing=\"0\" cellpadding=\"0\" border=\"0\">\n\n        ");
      out.write("<td width=\"32%\" valign=\"top\" bgcolor=\"#f0f0f0\">\n        ");
      out.write("<!-- BEGIN WALK SNMP TABLES -->\n            ");
      out.write(
          "<table width=\"100%\" valign=\"top\" cellspacing=\"0\" cellpadding=\"0\" border=\"0\">\n                ");
      out.write("<tr class=\"tableHeader\">\n                    ");
      out.write("<td class=\"tableHeader\" colspan=\"2\">Walk an SNMP Agent");
      out.write("</td>\n                ");
      out.write("</tr>\n                ");
      out.write("<tr class=\"tableRowLight\">\n                    ");
      out.write("<td class=\"tableText\" width=\"45%\">");
      out.write("<b>IP Address:");
      out.write("</b>");
      out.write("<A class=\"tt\" HREF=\"javascript: towerTip(");
      out.print(WTTips.TIP_SNMP_IPADDR);
      out.write(");\" TITLE=\"Telemetry Tip\">");
      out.write("<img src=\"/wt-portal/images/icons/tower_tips.gif\" border=\"0\">");
      out.write("</a>");
      out.write("</td>\n                    ");
      out.write("<td class=\"tableText\" >");
      out.write("<input type=\"text\" name=\"ip\" value=\"");
      out.print(strIp);
      out.write("\" size=\"23\">");
      out.write("</td>\n                ");
      out.write("</tr>                \n                ");
      out.write("<tr class=\"tableRowLight\">\n                    ");
      out.write("<td class=\"tableText\" width=\"45%\">");
      out.write("<b>Starting OID:");
      out.write("</b>");
      out.write("<A class=\"tt\" HREF=\"javascript: towerTip(");
      out.print(WTTips.TIP_SNMP_START_OID);
      out.write(");\" TITLE=\"Telemetry Tip\">");
      out.write("<img src=\"/wt-portal/images/icons/tower_tips.gif\" border=\"0\">");
      out.write("</a>");
      out.write("</td>\n                    ");
      out.write("<td class=\"tableText\" >");
      out.write("<input type=\"text\" size=\"23\" name=\"oid\" value=\"");
      out.print(strOID);
      out.write("\">");
      out.write("</td>\n                ");
      out.write("</tr>\n                ");
      out.write("<tr class=\"tableRowLight\">\n                    ");
      out.write("<td class=\"tableText\" width=\"45%\">");
      out.write("<b>Port:");
      out.write("</b>");
      out.write("<A class=\"tt\" HREF=\"javascript: towerTip(");
      out.print(WTTips.TIP_SNMP_PORT);
      out.write(");\" TITLE=\"Telemetry Tip\">");
      out.write("<img src=\"/wt-portal/images/icons/tower_tips.gif\" border=\"0\">");
      out.write("</a>");
      out.write("</td>\n                    ");
      out.write("<td class=\"tableText\" >");
      out.write("<input type=\"text\" size=\"23\" maxlength=10 name=\"port\" value=\"");
      out.print(strPort);
      out.write("\" >");
      out.write("</td>               \t\t\n                ");
      out.write("</tr>\n                ");
      out.write("<tr class=\"tableRowLight\">\n                    ");
      out.write("<td class=\"tableText\" width=\"45%\">");
      out.write("<b>Retries:");
      out.write("</b>");
      out.write("<A class=\"tt\" HREF=\"javascript: towerTip(");
      out.print(WTTips.TIP_RETRIES);
      out.write(");\" TITLE=\"Telemetry Tip\">");
      out.write("<img src=\"/wt-portal/images/icons/tower_tips.gif\" border=\"0\">");
      out.write("</a>");
      out.write("</td>\n                    ");
      out.write("<td class=\"tableText\" >");
      out.write("<input type=\"text\" size=\"4\" maxlength=10 name=\"retries\" value=\"");
      out.print(strRetries);
      out.write("\" >");
      out.write("</td>               \t\t\n                ");
      out.write("</tr>\n                ");
      out.write("<tr class=\"tableRowLight\">\n                    ");
      out.write("<td class=\"tableText\" width=\"45%\">");
      out.write("<b>Timeout(ms):");
      out.write("</b>");
      out.write("<A class=\"tt\" HREF=\"javascript: towerTip(");
      out.print(WTTips.TIP_TIMEOUT);
      out.write(");\" TITLE=\"Telemetry Tip\">");
      out.write("<img src=\"/wt-portal/images/icons/tower_tips.gif\" border=\"0\">");
      out.write("</a>");
      out.write("</td>\n                    ");
      out.write("<td class=\"tableText\" >");
      out.write("<input type=\"text\" size=\"23\" maxlength=10 name=\"timeout\" value=\"");
      out.print(strTimeout);
      out.write("\" >");
      out.write("</td>               \t\t\n                ");
      out.write("</tr>\n                ");
      out.write("<tr class=\"tableRowLight\">\n                    ");
      out.write("<td class=\"tableText\" width=\"45%\">");
      out.write("<b>SNMP Version:");
      out.write("</b>");
      out.write("<A class=\"tt\" HREF=\"javascript: towerTip(");
      out.print(WTTips.TIP_SNMP_VERSION);
      out.write(");\" TITLE=\"Telemetry Tip\">");
      out.write("<img src=\"/wt-portal/images/icons/tower_tips.gif\" border=\"0\">");
      out.write("</a>");
      out.write("</td>\n                    ");
      out.write("<td class=\"tableText\" >\n                    \t");
      out.write(
          "<select name=\"version\" id=\"version\" onclick=\"checkForSNMPv3()\">\n                \t\t\t");
      out.write("<option ");
      out.print(version.equals("version 1") ? "SELECTED" : "");
      out.write(">version 1\n                \t\t\t");
      out.write("<option ");
      out.print(version.equals("version 2c") ? "SELECTED" : "");
      out.write(">version 2c\n\t");

      com.websina.license.LicenseManager lim = com.websina.license.LicenseManager.getInstance();
      if (lim != null) { // Check if license is not null
        if (lim.isValid()) { //  Check if license is valid
          if (((Boolean.valueOf(
                  lim.getFeature(com.websina.license.License.WT_SECURE_SNMPV3_ENABLED_FIELD_NAME)))
              .booleanValue())) { //  Check if feature is enabled
            if ((lim.daysLeft(com.websina.license.License.WT_SECURE_SNMPV3_EXPIRATION_FIELD_NAME)
                    > 0)
                || (lim.daysLeft(com.websina.license.License.WT_SECURE_SNMPV3_EXPIRATION_FIELD_NAME)
                    == -1)) { // Check if feature has expired (-1 indicates never expired)

              out.write("\t\t\t\t\n                \t\t\t");
              out.write("<option ");
              out.print(version.equals("version 3") ? "SELECTED" : "");
              out.write(">version 3\n\t");
            } else {
              out.write("\n\t\t\t\t\t\t\t");
              out.write("<!-- The text for ");
              out.write(
                  "<option disabled> tag is changed as a workaround for IE browsers -->\n\t\t\t\t");
              out.write(
                  "<!-- Although other browsers will not allow to select this option -->\n\t\t\t\t");
              out.write(
                  "<!-- IE lets you select it and hence call checkForSNMPv3() which displays a message that the feature is not enabled and select version 1 -->\n\t\t\t\t");
              out.write("<!-- SNMPv3 enabled and expired -->\n\t\t\t\t");
              out.write("<option disabled=\"disabled\" style=\"color:#aaa\">SNMPv3 expired");
              out.write("</option>\n\t");
            }
          } else {
            out.write("\n\t\t\t\t\t\t\t");
            out.write("<!-- License is valid, SNMPv3 is disabled -->\n\t\t\t\t");
            out.write("<option disabled=\"disabled\" style=\"color:#aaa\">SNMPv3 disabled");
            out.write("</option>\n     ");
          }
        }
      }
      out.write("  \n            \t\t\t");
      out.write("</select>\n                    ");
      out.write("</td>\n             \t");
      out.write("</tr>\n            ");
      out.write("</table>\n            \n            ");
      out.write("<!-- COMMUNITY STRING OPTION -->\n                \n            ");
      out.write("<div id=\"csOptions\" style=\"visibility: visible\"> \n\t\t\t\t");
      out.write(
          "<table width=\"100%\" cellspacing=\"0\" cellpadding=\"0\" border=\"0\">\n                \t");
      out.write("<tr class=\"tableRowLight\">\n               \t  \t\t");
      out.write("<td class=\"tableText\" width=\"45%\">");
      out.write("<b>Community String:");
      out.write("</b>");
      out.write("<A class=\"tt\" HREF=\"javascript: towerTip(");
      out.print(WTTips.TIP_SNMP_COMMSTR);
      out.write(");\" TITLE=\"Telemetry Tip\">");
      out.write("<img src=\"/wt-portal/images/icons/tower_tips.gif\" border=\"0\">");
      out.write("</a>");
      out.write("</td>\n                   \t\t");
      out.write("<td class=\"tableText\" >");
      out.write("<input type=\"password\" name=\"cs\" value=\"");
      out.print(strCommunity);
      out.write("\" size=\"23\">");
      out.write("</td>\n                \t");
      out.write("</tr>\n             \t");
      out.write("</table>\n             ");
      out.write("</div>\n                \n\t\t\t");
      out.write("<!-- SNMP v3 OPTIONS -->               \n                \n\t\t\t");
      out.write("<div id=\"snmpOptions\" style=\"display: none; visibility: hidden\"> \n\t\t\t\t");
      out.write(
          "<table width=\"100%\" cellspacing=\"0\" cellpadding=\"0\" border=\"0\">\n\t\t\t\t\t\t\t\n                \t");
      out.write("<!-- SNMP Version 3 Config Label -->\n                \t");
      out.write("<BR/>");
      out.write("<HR width=\"95% align=\"center\">\n                \t");
      out.write("<tr class=\"tableRowLight\">\n                \t\t");
      out.write("<td class=\"tableText\" colspan=\"2\">");
      out.write("<b>SNMP Version 3 Options");
      out.write("</b>");
      out.write("</td>\n                \t");
      out.write("</tr>                              \n                \t\n                \t");
      out.write("<!-- Security Name -->\n                \t");
      out.write("<tr class=\"tableRowLight\">\n                    \t");
      out.write("<td class=\"tableText\" width=\"45%\">");
      out.write("<b>Security Name:");
      out.write("</b>");
      out.write("</td>\n                    \t");
      out.write("<td class=\"tableText\" >");
      out.write(
          "<INPUT type=\"text\" name=\"securityname\" id=\"securityname\" size=\"23\" maxlength=\"255\" value=\"");
      out.print(securityname);
      out.write("\" >");
      out.write("</td>\n                \t");
      out.write("</tr> \n                \t\n                \t");
      out.write("<!-- Security Level Options -->\n                \t");
      out.write("<tr class=\"tableRowLight\"> \n                    \t");
      out.write("<td class=\"tableText\">");
      out.write("<b>Security Level:");
      out.write("</b>");
      out.write("<A class=\"tt\" HREF=\"javascript: towerTip(");
      out.print(WTTips.TIP_SNMP_SECURITY_LEVEL);
      out.write(");\" TITLE=\"Telemetry Tip\">");
      out.write("<img src=\"/wt-portal/images/icons/tower_tips.gif\" border=\"0\">");
      out.write("</a>");
      out.write("</td>\n               \t\t");
      out.write("</tr>\n               \t\t\n               \t\t");
      out.write("<!-- Authentication with Privacy radio button-->\n               \t\t");
      out.write("<tr class=\"tableRowLight\">\n                    \t");
      out.write("<td class=\"tableText\" colspan=\"2\">\n                    \t\t");
      out.write(
          "<input type=\"radio\" onClick=\"showAuthPriv();adjustFrames(600)\" name=\"seclevel\" id=\"authpriv\" \n                    \t\tvalue=\"AUTH_PRIV\" ");
      out.print("AUTH_PRIV".equals(seclevel) ? "CHECKED" : "");
      out.write("> \n                    \t\tAuthentication with Privacy\n                   \t\t");
      out.write("</td>\n               \t\t");
      out.write("</tr>\n               \t\t\n               \t\t");
      out.write("<!-- Authentication without Privacy radio button-->\n               \t\t");
      out.write("<tr class=\"tableRowLight\"> \n                    \t");
      out.write("<td class=\"tableText\" colspan=\"2\">\n                    \t\t");
      out.write(
          "<input type=\"radio\" onClick=\"showAuth();adjustFrames(500)\" name=\"seclevel\" id=\"authnopriv\" \n                    \t\tvalue=\"AUTH_NOPRIV\" ");
      out.print("AUTH_NOPRIV".equals(seclevel) ? "CHECKED" : "");
      out.write(
          "> \n                    \t\tAuthentication without Privacy\n                   \t\t");
      out.write("</td>\n               \t\t");
      out.write("</tr> \n               \t\t\n               \t\t");
      out.write("<!-- No Authentication and No Privacy radio button-->\n               \t\t");
      out.write("<tr class=\"tableRowLight\"> \n                    \t");
      out.write("<td class=\"tableText\" colspan=\"2\">\n                    \t\t");
      out.write(
          "<input type=\"radio\" onClick=\"hideAuthPriv();adjustFrames(420)\" name=\"seclevel\" id=\"noauthnopriv\" \n                    \t\tvalue=\"NOAUTH_NOPRIV\" ");
      out.print("NOAUTH_NOPRIV".equals(seclevel) ? "CHECKED" : "");
      out.write(
          "> \n                    \t\tNo Authentication and no Privacy\n                   \t\t");
      out.write("</td>\n               \t\t");
      out.write("</tr> \n               \t\t\n              \t");
      out.write("</table>\n\t\t\t");
      out.write("</div>  \t\n  \n\t\t\t");
      out.write("<!-- Authentication Passphrase & Protocol-->\t\n\t\t\t");
      out.write("<div id=\"authOptions\" style=\"display:none; visibility:hidden\"> \n\t\t\t\t");
      out.write(
          "<table width=\"100%\" cellspacing=\"0\" cellpadding=\"0\" border=\"0\">\n               \t\t");
      out.write("<br/>\n               \t\t");
      out.write("<!-- Authentication Passphrase -->\n               \t\t");
      out.write("<tr class=\"tableRowLight\">               \t\t\t \n                    \t\t");
      out.write("<td class=\"tableText\" colspan=\"2\">");
      out.write("<b>Authentication:");
      out.write("</b>");
      out.write("</td> \n               \t\t");
      out.write("</tr> \n               \t\t");
      out.write("<tr class=\"tableRowLight\"> \n               \t\t\t");
      out.write("<td class=\"tableText\" width=\"31%\">Passphrase");
      out.write("<a class=\"tt\" href=\"javascript:towerTip(");
      out.print(WTTips.TIP_SNMP_AUTH_PASS);
      out.write(");\" title=\"Telemetry Tip\">");
      out.write("<img src=\"/wt-portal/images/icons/tower_tips.gif\" border=\"0\">");
      out.write("</a>");
      out.write("</td>\n                    \t");
      out.write("<td class=\"tableText\" >");
      out.write(
          "<input type=\"password\" name=\"authpass\" id=\"authpassfld\" size=\"18\" maxlength=\"255\" value=\"");
      out.print(authpass);
      out.write("\" >&nbsp;(min. 8 char.)");
      out.write("</td>\n               \t\t");
      out.write("</tr>\n               \t\t               \t\t\n               \t\t");
      out.write("<!-- Authentication Protocol -->               \t\t\n               \t\t");
      out.write("<tr class=\"tableRowLight\"> \n               \t\t\t");
      out.write("<td class=\"tableText\" width=\"31%\">Protocol");
      out.write("<a class=\"tt\" href=\"javascript:towerTip(");
      out.print(WTTips.TIP_SNMP_AUTH_PROC);
      out.write(");\" title=\"Telemetry Tip\">");
      out.write("<img src=\"/wt-portal/images/icons/tower_tips.gif\" border=\"0\">");
      out.write("</a>");
      out.write("</td>\n                    \t");
      out.write("<td class=\"tableText\" >\n                    \t\t");
      out.write("<select name=\"authproto\" id=\"authprotofld\">\n                \t\t\t\t");
      out.write("<option ");
      out.print("MD5".equals(authproto) ? "SELECTED" : "");
      out.write(">MD5");
      out.write("</option>\n                \t\t\t\t");
      out.write("<option ");
      out.print("SHA".equals(authproto) ? "SELECTED" : "");
      out.write(">SHA");
      out.write("</option>\n            \t\t\t\t");
      out.write("</select>            \t\t\t \n            \t\t\t");
      out.write("</td>                      \t             \t\t\n               \t\t");
      out.write("</tr>\n           \t\t");
      out.write("</table>\n\t\t\t");
      out.write("</div>  \t\n             \t\t\n            ");
      out.write("<!-- Privacy Passphrase & Protocol-->   \t\t\n\t       \t");
      out.write("<div id=\"privOptions\" style=\"display:none; visibility:hidden\"> \n\t\t\t\t");
      out.write(
          "<table width=\"100%\" cellspacing=\"0\" cellpadding=\"0\" border=\"0\">\n               \t\t");
      out.write("<br/>               \t\t              \t\t\n               \t\t");
      out.write("<!-- Privacy Passphrase -->\n               \t\t");
      out.write("<tr class=\"tableRowLight\">\n                    \t\t");
      out.write("<td class=\"tableText\" colspan=\"2\">");
      out.write("<b>Privacy:");
      out.write("</b>");
      out.write("</td>\n                    ");
      out.write("</tr>                \t\t\n               \t\t\n               \t\t");
      out.write("<tr class=\"tableRowLight\"> \n               \t\t\t");
      out.write("<td class=\"tableText\" width=\"31%\">Passphrase");
      out.write("<a class=\"tt\" href=\"javascript:towerTip(");
      out.print(WTTips.TIP_SNMP_PRIV_PASS);
      out.write(");\" title=\"Telemetry Tip\">");
      out.write("<img src=\"/wt-portal/images/icons/tower_tips.gif\" border=\"0\">");
      out.write("</a>");
      out.write("</td>\n                    \t");
      out.write("<td class=\"tableText\" >");
      out.write(
          "<input type=\"password\" name=\"privpass\" id=\"privpassfld\" size=\"18\" maxlength=\"255\" value=\"");
      out.print(privpass);
      out.write("\" >&nbsp;(min. 8 char.)");
      out.write("</td>\n               \t\t");
      out.write("</tr>\n               \t\t    \n               \t\t");
      out.write("<!-- Privacy Protocol -->              \t\t\n               \t\t");
      out.write("<tr class=\"tableRowLight\"> \n               \t\t\t");
      out.write("<td class=\"tableText\" width=\"31%\">Protocol");
      out.write("<a class=\"tt\" href=\"javascript:towerTip(");
      out.print(WTTips.TIP_SNMP_PRIV_PROC);
      out.write(");\" title=\"Telemetry Tip\">");
      out.write("<img src=\"/wt-portal/images/icons/tower_tips.gif\" border=\"0\">");
      out.write("</a>");
      out.write("</td>\n                    \t");
      out.write("<td class=\"tableText\" >                    \t\t\n                    \t\t");
      out.write("<select name=\"privproto\" id=\"privprotofld\">\n                \t\t\t\t");
      out.write("<option ");
      out.print("DES".equals(privproto) ? "SELECTED" : "");
      out.write(">DES");
      out.write("</option>\n                \t\t\t\t");
      out.write("<option ");
      out.print("AES 128".equals(privproto) ? "SELECTED" : "");
      out.write(">AES 128");
      out.write("</option>\n                \t\t\t\t");
      out.write("<option ");
      out.print("AES 192".equals(privproto) ? "SELECTED" : "");
      out.write(">AES 192");
      out.write("</option>\n                \t\t\t\t");
      out.write("<option ");
      out.print("AES 256".equals(privproto) ? "SELECTED" : "");
      out.write(">AES 256");
      out.write("</option>\n            \t\t\t\t");
      out.write("</select>\n            \t\t\t");
      out.write("</td>                      \t             \t\t\n               \t\t");
      out.write("</tr> \n       \t\t\t");
      out.write("</table>\n\t\t\t");
      out.write("</div>              \t\t\n                           \n     \t\t");
      out.write("<!-- End of SNMP v3 OPTIONS --> \n       \n        \t");
      out.write("<!-- SNMP Submit button -->\n\t\t\t");
      out.write("<tr class=\"tableRowLight\">\n\t\t\t\t");
      out.write("<td class=\"tableText\" colspan=\"2\">\n             \t\t");
      out.write("<INPUT type=\"hidden\" name=\"button\" value=\"\">\n\t\t\t\t\t");
      out.write(
          "<INPUT type=\"image\" src=\"/wt-portal/images/buttons/btn_walk.gif\" onClick=\"document.snmpwalk.button.value='Walk'; return validateForm();\">\n       \t\t\t");
      out.write("</td>\n       \t\t");
      out.write("</tr>\n\t");

      if (lim != null) { // Check if license is not null
        if (lim.isValid()) { //  Check if license is valid
          if (((Boolean.valueOf(
                  lim.getFeature(com.websina.license.License.WT_SECURE_SNMPV3_ENABLED_FIELD_NAME)))
              .booleanValue())) { //  Check if feature is enabled
            if ((lim.daysLeft(com.websina.license.License.WT_SECURE_SNMPV3_EXPIRATION_FIELD_NAME)
                    > 0)
                || (lim.daysLeft(com.websina.license.License.WT_SECURE_SNMPV3_EXPIRATION_FIELD_NAME)
                    == -1)) { // Check if feature has expired (-1 indicates never expired)

              out.write("\t\t\n       \t\t");
              out.write("<!-- License valid, SNMPv3 enabled and expired -->\t\t\t\n       \t\t");
              out.write("<tr class=\"tableRowLight\">\n       \t\t\t");
              out.write("<td colspan=\"2\">");
              out.write(
                  "<img src=\"/wt-portal/images/spacers/spacer.gif\" height=\"10\" width=\"10\" border=\"0\" alt=\"WebTelemetry\">");
              out.write("</td>\n       \t\t");
              out.write("</tr>\n   ");
            } else {
              out.write("\n       \t\t");
              out.write("<!-- SNMPv3 enabled and expired -->\n       \t\t");
              out.write("<tr class=\"tableRowLight\">\n       \t\t\t");
              out.write("<td colspan=\"2\" class=\"tableText\">");
              out.write("<span class=\"error\">Access to SNMP v3 has expired.");
              out.write("</span>");
              out.write("<br>&nbsp;\n       \t\t\t");
              out.write("</td>\n\t\t\t");
              out.write("</tr>\n   ");
            }
          } else {
            out.write("\n       \t\t");
            out.write("<!-- License is valid, SNMPv3 is disabled -->\n       \t\t");
            out.write("<tr class=\"tableRowLight\">\n       \t\t\t");
            out.write("<td colspan=\"2\">");
            out.write(
                "<img src=\"/wt-portal/images/spacers/spacer.gif\" height=\"10\" width=\"10\" border=\"0\" alt=\"WebTelemetry\">");
            out.write("</td>\n       \t\t");
            out.write("</tr>\n     ");
          }
        }
      }
      out.write("    \n\n\t\t\t");
      out.write("</table>\n        ");
      out.write("<!-- END WALK SNMP TABLES -->\n        ");
      out.write("</td>               \n  \n        ");
      out.write("<td valign=\"top\">");
      out.write(
          "<img src=\"/wt-portal/images/spacers/spacer.gif\" height=\"10\" width=\"10\" border=\"0\" alt=\"WebTelemetry\">");
      out.write("</td>\n        ");
      out.write("<td valign=\"top\" bgcolor=\"#f0f0f0\">\n        ");
      out.write("<!-- BEGIN MIB TABLE -->\n            ");
      out.write(
          "<table width=\"100%\" cellspacing=\"0\" cellpadding=\"0\" border=\"0\">\n                ");
      out.write("<tr class=\"tableHeader\">\n                    ");
      out.write("<td class=\"tableHeader\">View MIBs");
      out.write("</td>\n                ");
      out.write("</tr>\n                ");
      out.write("<tr class=\"tableRowLight\">\n                    ");
      out.write("<td class=\"tableText\">\n                    \t");
      out.write("<select name=mibs size=7>\n\t\t\t\t\t\t    ");

      if (vMibs != null) {
        for (int j = 0; j < vMibs.size(); j++) {

          out.print("<OPTION>" + (String) vMibs.get(j));
        }
      }

      out.write("\n\t\t\t\t\t    ");
      out.write("</select>\n                    ");
      out.write("</td>\n                ");
      out.write("</tr>\n                ");
      out.write("<tr class=\"tableRowLight\">\n                    ");
      out.write("<td class=\"tableText\">\n\t\t\t\t\t");
      out.write(
          "<INPUT type=\"image\" src=\"/wt-portal/images/buttons/btn_view_MIB.gif\" onClick=\"document.snmpwalk.button.value='View MIB'; return viewMIB();\">&nbsp;&nbsp;");
      out.write(
          "<INPUT type=\"image\" src=\"/wt-portal/images/buttons/btn_reload_MIB.gif\" onClick=\"document.snmpwalk.button.value='Reload MIBs';\">");
      out.write("</td>\n                ");
      out.write("</tr>\n            ");
      out.write("</table>\n        ");
      out.write("<!-- END MIB TABLE -->\n        ");
      out.write("</td>\n        \n        ");
      out.write("<td valign=\"top\">");
      out.write(
          "<img src=\"/wt-portal/images/spacers/spacer.gif\" height=\"10\" width=\"10\" border=\"0\" alt=\"WebTelemetry\">");
      out.write("</td>\n\t\t");
      out.write("<td valign=\"top\" bgcolor=\"#f0f0f0\">\n        ");
      out.write("<!-- BEGIN ASN TABLE -->\n            ");
      out.write(
          "<table width=\"100%\" cellspacing=\"0\" cellpadding=\"0\" border=\"0\">\n                ");
      out.write("<tr class=\"tableHeader\">\n                    ");
      out.write("<td class=\"tableHeader\">Lookup ASN.1 Values By Name");
      out.write("</td>\n                ");
      out.write("</tr>\n                ");
      out.write("<tr class=\"tableRowLight\">\n                    ");
      out.write("<td class=\"tableText\">");
      out.write("<INPUT type=\"text\" name=\"desc\" value=\"");
      out.print(strDesc);
      out.write("\" size=\"30\" >");
      out.write("</td>\n                ");
      out.write("</tr>\n                ");
      out.write("<tr class=\"tableRowLight\">\n                    ");
      out.write("<td class=\"tableText\">");
      out.write("<textarea cols=\"30\" rows=\"5\">");
      out.print(strASN1);
      out.write("</textarea>");
      out.write("</td>\n                ");
      out.write("</tr>\n                ");
      out.write("<tr class=\"tableRowLight\">\n                    ");
      out.write("<td class=\"tableText\">\n\t                    ");
      out.write(
          "<INPUT type=\"image\" src=\"/wt-portal/images/buttons/btn_lookup.gif\" onClick=\"document.snmpwalk.button.value='lookup'; return validateLookup();\">\n                    ");
      out.write("</td>\n                ");
      out.write("</tr>\n            ");
      out.write("</table>");
      out.write("<BR>\n        ");
      out.write("<!-- END ASN TABLE -->\n        ");
      out.write("</td>        \n    \t");
      out.write("<td valign=\"top\">");
      out.write(
          "<img src=\"/wt-portal/images/spacers/spacer.gif\" height=\"10\" width=\"10\" border=\"0\" alt=\"WebTelemetry\">");
      out.write("</td>        \n    ");
      out.write("</tr>\n");
      out.write("</table>\n");
      out.write("</form>\n");
      out.write("<!-- BEGIN FRAMING TABLE:close tags-->\n\t\t");
      out.write("</td>\n\t");
      out.write("</tr>\n");
      out.write("</table>\n");
      out.write("<!-- END FRAMING TABLE:close tags-->   \n  ");
      out.write("</body>\n");
      out.write("</html>\n");
    } catch (Throwable t) {
      out = _jspx_out;
      if (out != null && out.getBufferSize() != 0) out.clearBuffer();
      if (pageContext != null) pageContext.handlePageException(t);
    } finally {
      if (_jspxFactory != null) _jspxFactory.releasePageContext(pageContext);
    }
  }
  public void doPost(HttpServletRequest request, HttpServletResponse response)
      throws ServletException, IOException {
    try {
      address = PAConfiguration.getAddress();
      port = PAConfiguration.getPort(instantiation);
      poslAddress = PAConfiguration.getPOSL(instantiation, topic);
      rdfAddress = PAConfiguration.getRDFTaxonomy(instantiation);
      messageEndpoint = PAConfiguration.getEndpointName(instantiation, topic);
    } catch (BadConfigurationException e) {
      System.out.println(e.getMessage());
      e.printStackTrace();
      System.exit(0);
    }
    response.setContentType("text/html; charset=UTF-8");
    PrintWriter out = response.getWriter();

    try {
      System.out.println("5 Publicty Chair Servlet");
      System.out.println(response.toString());

      BufferedReader brd = request.getReader();

      String input = "";
      String message = "";

      while (!input.equals("</RuleML>")) {

        input = brd.readLine();

        message = message + input;
      }
      String[] varOrder = getVariableOrder(message);
      System.out.println("Received Message: " + message);

      //	BackwardReasoner br = new BackwardReasoner();
      //   Iterator solit =null;
      //   DefiniteClause dc = null;
      //   SymbolTable.reset();

      POSLParser pp = new POSLParser();
      // String contents = "c(a).\nc(b).\nc(c).";

      Date t1 = new GregorianCalendar().getTime();
      System.out.println(t1.getHours() + ":" + t1.getMinutes());
      // append time to contents

      System.out.println("day: " + t1.getDay());
      System.out.println("day: " + t1.getYear());
      System.out.println("day: " + t1.getMonth());

      // time
      String time = "time(" + t1.getHours() + ":integer).";
      System.out.println(time);

      String url = poslAddress;

      // String url = "http://www.jdrew.org/oojdrew/test.posl";
      String contents = "";

      // day of the week
      int day = t1.getDay();
      boolean weekday = true;

      if (day == 0 || day == 6) {
        weekday = false;
      }

      String dayOfWeek;

      if (weekday) {
        dayOfWeek = "day(weekday).";
      } else {
        dayOfWeek = "day(weekend).";
      }
      // full date
      Calendar cal = new GregorianCalendar();

      int year = cal.get(Calendar.YEAR);
      int month = cal.get(Calendar.MONTH) + 1;
      int day2 = cal.get(Calendar.DAY_OF_MONTH);

      String date;

      String day3 = "" + day2;

      if (day2 == 1 || day2 == 2 || day2 == 3 || day2 == 4 || day2 == 5 || day2 == 6 || day2 == 7
          || day2 == 8 || day2 == 9) {

        day3 = "0" + day2;
      }

      if (month == 10 || month == 11 || month == 12) date = "" + year + month + day3;
      else date = "" + year + "0" + month + day3;

      date = "date(" + date + ":integer).";

      System.out.println(date);

      String url2 = rdfAddress;
      HttpClient client2 = new HttpClient();
      GetMethod method2 = new GetMethod(url2);
      method2.setFollowRedirects(true);
      String typestr = "";
      // Execute the GET method
      int statusCode2 = client2.executeMethod(method2);
      if (statusCode2 != -1) {
        typestr = method2.getResponseBodyAsString();
      }
      System.out.println("Types: " + typestr);
      Types.reset();
      RDFSParser.parseRDFSString(typestr);

      try {
        HttpClient client = new HttpClient();
        GetMethod method = new GetMethod(url);
        method.setFollowRedirects(true);

        // Execute the GET method
        int statusCode = client.executeMethod(method);
        if (statusCode != -1) {
          contents = method.getResponseBodyAsString();
        }
      } catch (Exception e) {
        e.printStackTrace();
      }
      contents = contents + "\n" + time;
      contents = contents + "\n" + dayOfWeek;
      contents = contents + "\n" + date;

      BackwardReasoner br = new BackwardReasoner();
      Iterator solit = null;
      DefiniteClause dc = null;
      SymbolTable.reset();

      pp.parseDefiniteClauses(contents);

      br.loadClauses(pp.iterator());
      System.out.println("TEST");
      Iterator it = pp.iterator();
      while (it.hasNext()) {
        DefiniteClause d = (DefiniteClause) it.next();
        System.out.println("Loaded clause: " + d.toPOSLString());
      }

      br = new BackwardReasoner(br.clauses, br.oids);

      MessageParser m = new MessageParser(message);
      Element atom = null;

      try {

        atom = m.parseForContent();

      } catch (Exception e) {

        System.out.println("Invalid Message");
        // out.flush();

      }

      QueryBuilder q = new QueryBuilder(atom);
      String query = q.generateDoc();
      System.out.println("ABOUT TO INPUT THIS QUERY:" + query);
      RuleMLParser qp = new RuleMLParser();

      try {

        dc = qp.parseRuleMLQuery(query);

      } catch (Exception e) {
        System.out.println("Invalid Query");
        // out.flush();
      }

      // solit = br.iterativeDepthFirstSolutionIterator(dc);

      solit = br.iterativeDepthFirstSolutionIterator(dc);

      int varSize = 0;

      while (solit.hasNext()) {

        Vector data = new Vector();

        BackwardReasoner.GoalList gl = (BackwardReasoner.GoalList) solit.next();

        Hashtable varbind = gl.varBindings;
        javax.swing.tree.DefaultMutableTreeNode root = br.toTree();
        root.setAllowsChildren(true);

        javax.swing.tree.DefaultTreeModel dtm = new DefaultTreeModel(root);

        int i = 0;
        Object[][] rowdata = new Object[varbind.size()][2];
        varSize = varbind.size();

        Enumeration e = varbind.keys();
        while (e.hasMoreElements()) {
          Object k = e.nextElement();
          Object val = varbind.get(k);
          String ks = (String) k;
          rowdata[i][0] = ks;
          rowdata[i][1] = val;
          i++;
        }

        data.addElement(rowdata);
        String[] messages = new String[data.size()];
        MessageGenerator g =
            new MessageGenerator(
                data, varSize, messageEndpoint, m.getId(), m.getProtocol(), m.getRel(), varOrder);
        messages = g.Messages2();

        String appender = "";

        URL sender = new URL(address + ":" + port);
        HttpMessage msg = new HttpMessage(sender);
        Properties props = new Properties();

        for (int i1 = 0; i1 < data.size(); i1++) {
          System.out.println(i1 + ")" + messages[i1].toString());
          props.put("text", messages[i1].toString());
          InputStream in = msg.sendGetMessage(props);
        }
        System.out.println("NEXT MESSAGE");
      }

      MessageGenerator g =
          new MessageGenerator(
              null, varSize, messageEndpoint, m.getId(), m.getProtocol(), m.getRel());

      URL sender = new URL(address + ":" + port);
      HttpMessage msg = new HttpMessage(sender);
      Properties props = new Properties();

      String finalMessage = g.finalMessage(query);

      System.out.println(finalMessage);

      props.put("text", finalMessage);
      InputStream in = msg.sendGetMessage(props);

      System.out.println("Stop_Communication");

    } catch (Exception e) {
      System.out.println("ERROR has occured : " + e.toString());
    }
    out.close();
  }