public String isValidNickName(PartyLovVO partyLovVO) {
   Statement st = null;
   Connection connection = null;
   ResultSet rs = null;
   String ret = "Invalid";
   String partyRole = partyLovVO.getPartyRole();
   String visiblePartyId = partyLovVO.getPartyNickName();
   String hiddenPartyId = partyLovVO.getPartyId();
   try {
     boolean partyMatch =
         visiblePartyId.equalsIgnoreCase(getNickNameInNickNameMode(hiddenPartyId));
     if (!partyMatch) {
       hiddenPartyId = "";
       partyLovVO.setPartyId("");
     }
     if (!isValidParty(partyLovVO) || StringUtility.isNullEmpty(hiddenPartyId)) {
       boolean temp = false;
       if (!StringUtility.isNullEmpty(hiddenPartyId) && partyMatch) {
         temp = isValidParty(partyLovVO);
         if (!temp && ("*PU_LOCN".equals(partyRole) || "*DEL_LOCN".equals(partyRole))) {
           if ("*PU_LOCN".equals(partyRole)) {
             partyLovVO.setPartyRole("*SHIPPER");
           } else {
             partyLovVO.setPartyRole("*CONSIGNEE");
           }
           temp = isValidParty(partyLovVO);
         }
       }
       if (!temp) {
         connection = getConnection();
         st =
             connection.createStatement(
                 ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY);
         rs =
             st.executeQuery(
                 "SELECT DCS_CODE FROM ET_BUSINESS_PARTY WHERE DCS_NICK_NAME='"
                     + visiblePartyId
                     + "' AND DCS_PARTY_TYPE LIKE '%"
                     + partyRole
                     + "%'");
         int count = 0;
         if (rs.next()) {
           rs.last();
           count = rs.getRow();
           rs.beforeFirst();
         }
         if (count == 0) {
           ret = "InValidNickName";
         } else if (count == 1) {
           if (rs.first()) {
             partyLovVO.setPartyId(rs.getString("DCS_CODE"));
             temp = isValidParty(partyLovVO);
             if (!temp && ("*PU_LOCN".equals(partyRole) || "*DEL_LOCN".equals(partyRole))) {
               if ("*PU_LOCN".equals(partyRole)) {
                 partyLovVO.setPartyRole("*SHIPPER");
               } else {
                 partyLovVO.setPartyRole("*CONSIGNEE");
               }
               temp = isValidParty(partyLovVO);
             }
             if (temp) {
               ret = partyLovVO.getPartyId();
             }
           } else {
           }
         } else {
           ret = "Duplicate";
         }
       } else {
         ret = hiddenPartyId;
       }
     } else {
       ret = hiddenPartyId;
     }
   } catch (Exception e) {
     e.printStackTrace();
   } finally {
     ConnectionUtil.closeConnection(connection, st, rs);
   }
   return ret;
 }
 public String loadAJAXData(PartyLovVO lovAttributes, ESupplyGlobalParameters loginBean)
     throws Exception {
   StringBuilder finalQry = new StringBuilder();
   PreparedStatement pstmt = null;
   ResultSet rs = null;
   String xmlString = "";
   String userDisplaySeparator = "-";
   String partyNickName = "";
   String partyId = "";
   String partyName = "";
   String userDisplay = null;
   String toolTip = null;
   Connection connection = null;
   String whereCond = "";
   try {
     QueryFields fields = new QueryFields();
     if (ETPartyLovConstants.typeAheadLevel1.equals(lovAttributes.getTypeAheadLevel())
         || ETPartyLovConstants.typeAheadLevel3.equals(lovAttributes.getTypeAheadLevel())) {
       finalQry.append("SELECT ");
       finalQry.append(" USER_DISPLAY,");
       finalQry.append(" TOOL_TIP,");
       finalQry.append(" DCS_CODE,");
       finalQry.append(" DCS_NICK_NAME,");
       finalQry.append(" DCS_PARTY_NAME ");
       finalQry.append(" FROM (" + PartyLovQueries.loadAjaxQuery_LEVEl1);
       fields.put("BP.DCS_NICK_NAME", lovAttributes.getPartyNickName(), QueryConstants.LIKE_COND);
       fields.put("BP.DCS_STATUS", "1");
       fields.put("PR.DCS_CODE", lovAttributes.getPartyRole());
       if (!StringUtility.isNullEmpty(lovAttributes.getRelatedParty())) {
         fields.put("BP.DCS_CODE", lovAttributes.getRelatedParty());
         fields.put("PR.DCS_CODE", lovAttributes.getRelationShipType());
       }
       whereCond = " AND " + QueryBuilderUtil.buildWhereCond(fields);
       whereCond +=
           " ORDER BY "
               + lovAttributes.getSearchMode()
               + " ) WHERE ROWNUM<="
               + lovAttributes.getDisplayRows();
       finalQry.append(whereCond);
       connection = getConnection();
       pstmt = connection.prepareStatement(finalQry.toString());
       rs = pstmt.executeQuery();
       xmlString = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>";
       xmlString += "<partyData>";
       while (rs.next()) {
         partyNickName = StringUtility.noNull(rs.getString("DCS_NICK_NAME"));
         partyId = StringUtility.noNull(rs.getString("DCS_CODE"));
         partyName = StringUtility.noNull(rs.getString("DCS_PARTY_NAME"));
         userDisplay = StringUtility.noNull(rs.getString("USER_DISPLAY"));
         toolTip = StringUtility.noNull(rs.getString("TOOL_TIP"));
         xmlString += "<row>";
         if (ETPartyLovConstants.typeAheadLevel1.equals(lovAttributes.getTypeAheadLevel())) {
           xmlString += "<userdisplay>" + userDisplay + "</userdisplay>";
         } else if (ETPartyLovConstants.typeAheadLevel3.equals(
             lovAttributes.getTypeAheadLevel())) {
           xmlString +=
               "<userdisplay>" + userDisplay + userDisplaySeparator + partyName + "</userdisplay>";
         }
         xmlString += "<tooltip>" + toolTip + "</tooltip>";
         if ("NickNameMode".equals(loginBean.getPartyMode())) {
           xmlString += "<partynickname>" + partyNickName + "</partynickname>";
         } else {
           xmlString += "<partynickname>" + partyId + "</partynickname>";
         }
         xmlString += "<partycode>" + partyId + "</partycode>";
         xmlString += "<partyName>" + partyName + "</partyName>";
         xmlString += "</row>";
       }
       xmlString = xmlString + "</partyData>";
     } else if (ETPartyLovConstants.typeAheadLevel2.equals(lovAttributes.getTypeAheadLevel())
         || ETPartyLovConstants.typeAheadLevel4.equals(lovAttributes.getTypeAheadLevel())) {
       finalQry.append("SELECT ");
       finalQry.append(" USER_DISPLAY,");
       finalQry.append(" TOOL_TIP,");
       finalQry.append(" DCS_CODE,");
       finalQry.append(" DCS_NICK_NAME,");
       finalQry.append(" DCS_PARTY_NAME,");
       finalQry.append(" DCS_ADDRESS_NAME,");
       finalQry.append(" DCS_ADDRESS_NAME2,");
       finalQry.append(" DCS_BUILDING_NAME,");
       finalQry.append(" DCS_STREET_NAME,");
       finalQry.append(" DCS_CITY_TOWN,");
       finalQry.append(" DCS_PHONE_NO,");
       finalQry.append(" DCS_FAX,");
       finalQry.append(" DCS_COUNTRY_STATE_CODE,");
       finalQry.append(" DCS_POS_CODE,");
       finalQry.append(" DCS_COUNTRY_CODE,");
       finalQry.append(" DCS_FORMATTED_ADDRESS");
       finalQry.append(" FROM (" + PartyLovQueries.loadAjaxQuery_LEVEl2);
       fields.put("BP.DCS_NICK_NAME", lovAttributes.getPartyNickName(), QueryConstants.LIKE_COND);
       fields.put("BP.DCS_STATUS", "1");
       fields.put("PR.DCS_CODE", lovAttributes.getPartyRole());
       if (!StringUtility.isNullEmpty(lovAttributes.getRelatedParty())) {
         fields.put("BP.DCS_CODE", lovAttributes.getRelatedParty());
         fields.put("PR.DCS_CODE", lovAttributes.getRelationShipType());
       }
       whereCond = " AND " + QueryBuilderUtil.buildWhereCond(fields);
       whereCond +=
           " ORDER BY "
               + lovAttributes.getSearchMode()
               + " ) WHERE ROWNUM<="
               + lovAttributes.getDisplayRows();
       finalQry.append(whereCond);
       connection = getConnection();
       pstmt = connection.prepareStatement(finalQry.toString());
       rs = pstmt.executeQuery();
       xmlString = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>";
       xmlString += "<partyData>";
       while (rs.next()) {
         partyNickName = StringUtility.noNull(rs.getString("DCS_NICK_NAME"));
         partyId = StringUtility.noNull(rs.getString("DCS_CODE"));
         partyName = StringUtility.noNull(rs.getString("DCS_PARTY_NAME"));
         userDisplay = StringUtility.noNull(rs.getString("USER_DISPLAY"));
         toolTip = StringUtility.noNull(rs.getString("TOOL_TIP"));
         xmlString += "<row>";
         xmlString += "<userdisplay>" + userDisplay + "</userdisplay>";
         xmlString += "<tooltip>" + toolTip + "</tooltip>";
         if ("NickNameMode".equals(loginBean.getPartyMode())) {
           xmlString += "<partynickname>" + partyNickName + "</partynickname>";
         } else {
           xmlString += "<partynickname>" + partyId + "</partynickname>";
         }
         xmlString += "<partycode>" + partyId + "</partycode>";
         xmlString += "<partyName>" + partyName + "</partyName>";
         xmlString += "<addressname1>" + rs.getString("DCS_ADDRESS_NAME") + "</addressname1>";
         xmlString += "<addressname2>" + rs.getString("DCS_ADDRESS_NAME2") + "</addressname2>";
         xmlString += "<buildingname>" + rs.getString("DCS_BUILDING_NAME") + "</buildingname>";
         xmlString += "<streetname>" + rs.getString("DCS_STREET_NAME") + "</streetname>";
         xmlString += "<citytown>" + rs.getString("DCS_CITY_TOWN") + "</citytown>";
         xmlString += "<phoneno>" + rs.getString("DCS_PHONE_NO") + "</phoneno>";
         xmlString += "<fax>" + rs.getString("DCS_FAX") + "</fax>";
         xmlString +=
             "<countrystate>" + rs.getString("DCS_COUNTRY_STATE_CODE") + "</countrystate>";
         xmlString += "<poscode>" + rs.getString("DCS_POS_CODE") + "</poscode>";
         xmlString += "<countrycode>" + rs.getString("DCS_COUNTRY_CODE") + "</countrycode>";
         xmlString +=
             "<formatedaddress>" + rs.getString("DCS_FORMATTED_ADDRESS") + "</formatedaddress>";
         xmlString += "</row>";
       }
       xmlString = xmlString + "</partyData>";
     }
   } catch (Exception e) {
     e.printStackTrace();
     throw e;
   } finally {
     ConnectionUtil.closeResultSet(rs);
     ConnectionUtil.closePreparedStatement(pstmt);
     ConnectionUtil.closeConnection(connection);
   }
   return xmlString;
 }