/* * eGov suite of products aim to improve the internal efficiency,transparency, * accountability and the service delivery of the government organizations. * * Copyright (C) <2015> eGovernments Foundation * * The updated version of eGov suite of products as by eGovernments Foundation * is available at http://www.egovernments.org * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see http://www.gnu.org/licenses/ or * http://www.gnu.org/licenses/gpl.html . * * In addition to the terms of the GPL license to be adhered to in using this * program, the following additional terms are to be complied with: * * 1) All versions of this program, verbatim or modified must carry this * Legal Notice. * * 2) Any misrepresentation of the origin of the material is prohibited. It * is required that all modified versions of this material be marked in * reasonable ways as different from the original version. * * 3) This license does not grant any rights to any user of the program * with regards to rights under trademark law for use of the trade names * or trademarks of eGovernments Foundation. * * In case of any queries, you can reach eGovernments Foundation at contact@egovernments.org. */ package org.egov.ptis.actions.search; import com.opensymphony.xwork2.validator.annotations.Validations; import org.apache.commons.lang.StringUtils; import org.apache.log4j.Logger; import org.apache.struts2.ServletActionContext; import org.apache.struts2.convention.annotation.Action; import org.apache.struts2.convention.annotation.Namespace; import org.apache.struts2.convention.annotation.ParentPackage; import org.apache.struts2.convention.annotation.Result; import org.apache.struts2.interceptor.validation.SkipValidation; import org.egov.infra.admin.master.entity.Boundary; import org.egov.infra.admin.master.service.BoundaryService; import org.egov.infra.exception.ApplicationRuntimeException; import org.egov.infra.web.struts.actions.BaseFormAction; import org.egov.infra.web.struts.annotation.ValidationErrorPage; import org.egov.ptis.actions.common.CommonServices; import org.egov.ptis.domain.dao.demand.PtDemandDao; import org.egov.ptis.domain.dao.property.BasicPropertyDAO; import org.egov.ptis.domain.dao.property.PropertyTypeMasterDAO; import org.egov.ptis.domain.entity.property.PropertyMaterlizeView; import org.egov.ptis.domain.entity.property.PropertyTypeMaster; import org.hibernate.Query; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.transaction.annotation.Transactional; import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.math.BigDecimal; import java.util.ArrayList; import java.util.Collections; import java.util.HashMap; import java.util.List; import java.util.Map; import static java.math.BigDecimal.ZERO; import static org.egov.ptis.constants.PropertyTaxConstants.AREA_BNDRY_TYPE; import static org.egov.ptis.constants.PropertyTaxConstants.ELECTION_HIERARCHY_TYPE; import static org.egov.ptis.constants.PropertyTaxConstants.GISCITY; import static org.egov.ptis.constants.PropertyTaxConstants.GISVERSION; import static org.egov.ptis.constants.PropertyTaxConstants.WARD_BNDRY_TYPE; import static org.egov.ptis.constants.PropertyTaxConstants.ZONE_BNDRY_TYPE; @ParentPackage("egov") @Validations @Namespace("/search") public class GisSearchPropertyAction extends BaseFormAction { /** * */ private static final long serialVersionUID = -5684216227835693553L; private final Logger LOGGER = Logger.getLogger(getClass()); private Long zoneId; private Integer wardId; private Integer areaId; private String mode; private String houseNum; private String ownerName; private Integer propTypeId; private BigDecimal demandFromAmt; private BigDecimal demandToAmt; private BigDecimal defaulterFromAmt; private BigDecimal defaulterToAmt; private List<Map<String, String>> searchResultList; private String searchUri; private String searchCreteria; private String searchValue; List<Map<String, String>> searchList = new ArrayList<Map<String, String>>(); private String SESSION; private String searchResultString; private String gisVersion; private String gisCity; private Map<Long, String> ZoneBndryMap; @Autowired private BoundaryService boundaryService; @Autowired private PropertyTypeMasterDAO propertyTypeMasterDAO; @Autowired private BasicPropertyDAO basicPropertyDAO; private PtDemandDao ptDemandDAO; @Override public Object getModel() { return null; } @SkipValidation public void gisFormRedirect() { LOGGER.debug("Entered into gisFormRedirect method : GISVERSION : " + GISVERSION + " GISCITY : " + GISCITY); final HttpServletResponse response = ServletActionContext.getResponse(); try { response.sendRedirect(response.encodeRedirectURL(GISVERSION + GISCITY + "/ajaxtiledviewersample.jsp?DomainName=" + GISCITY + "&mode=PTIS")); } catch (final IOException e) { LOGGER.error("Exception in Gis Search Property : ", e); throw new ApplicationRuntimeException("Exception : " + e); } LOGGER.debug("Exit from gisFormRedirect method"); } @SkipValidation @Action(value = "/gisSearchProperty-gisSearchForm", results = { @Result(name = NEW, location = "/gisSearchProperty-new.jsp") }) public String gisSearchForm() { LOGGER.debug("Entered into gisSearchForm method"); String target = null; setSESSION(getSESSION()); setGisCity(GISCITY); setGisVersion(GISVERSION); target = "bndry"; if (StringUtils.equals(mode, "bndry")) target = "bndry"; else if (StringUtils.equals(mode, "propType")) target = "propType"; else if (StringUtils.equals(mode, "demand")) target = "demand"; else if (StringUtils.equals(mode, "defaulter")) target = "defaulter"; LOGGER.debug("Exit from gisSearchForm method"); return target; } @ValidationErrorPage(value = "bndry") public String srchByBndry() { LOGGER.debug("Entered into srchByBndry method"); LOGGER.debug("srchByBndry : Zone Id : " + zoneId + ", " + "ward Id: " + wardId + ", " + "House Num : " + houseNum + ", " + "Owner Name :" + ownerName + ", " + "Session : " + SESSION); final String strZoneNum = boundaryService.getBoundaryById(zoneId).getName(); final String strWardNum = ""; String target = null; if (zoneId != null && zoneId != -1) try { final StringBuilder queryStr = new StringBuilder(); queryStr.append("from PropertyMaterlizeView pmv where pmv.zone.id=:ZoneID and pmv.isActive = true"); if (wardId != null && wardId != -1) queryStr.append(" and pmv.ward.id=:WardID"); if (areaId != null && areaId != -1) queryStr.append(" and pmv.street.id=:AreaID"); if (houseNum != null && !houseNum.trim().isEmpty()) queryStr.append(" and pmv.houseNo like :houseNum"); if (ownerName != null && !ownerName.trim().isEmpty()) queryStr.append(" and trim(pmv.ownerName) like :OwnerName"); final Query query = getPersistenceService().getSession().createQuery(queryStr.toString()); if (zoneId != null && zoneId != -1) query.setLong("ZoneID", zoneId); if (wardId != null && wardId != -1) query.setInteger("WardID", wardId); if (areaId != null && areaId != -1) query.setInteger("AreaID", areaId); if (houseNum != null && !houseNum.trim().isEmpty()) query.setString("houseNum", houseNum + "%"); if (ownerName != null && !ownerName.trim().isEmpty()) query.setString("OwnerName", ownerName + "%"); final List<PropertyMaterlizeView> propertyList = query.list(); if (propertyList.size() < 0) { setSESSION(getSESSION()); setMode("bndry"); target = "nodtls"; } int count = 0; for (final PropertyMaterlizeView propMatview : propertyList) { LOGGER.debug("srchByBndry : Property : " + propMatview); if (count <= 10) setSearchResultList(getResultsFromMv(propMatview)); else break; count++; } if (searchResultList != null) setSearchResultString(getSearchResultsString(searchResultList)); setSearchUri("../search/searchProperty!srchByBndryForm.action"); setSearchCreteria("Search By Zone, Ward,Area, Plot No/House No,Owner Name"); setSearchValue("Zone Num: " + strZoneNum + ", Ward Num: " + strWardNum + ", Plot No/House No: " + houseNum); LOGGER.debug("Search Criteria : " + getSearchCreteria()); LOGGER.debug("Search Value : " + getSearchValue()); setSESSION(getSESSION()); setGisCity(GISCITY); setGisVersion(GISVERSION); setMode("bndry"); target = "result"; } catch (final Exception e) { LOGGER.error("Exception in Search Property By Bndry ", e); throw new ApplicationRuntimeException("Exception : " + e); } LOGGER.debug("Exit from srchByBndry method"); return target; } @ValidationErrorPage(value = "propType") public String srchByPropType() { LOGGER.debug("Entered into srchByPropType method"); LOGGER.debug("Zone Id : " + zoneId + ", " + "ward Id : " + wardId + ", " + "Property Type : " + propTypeId); final String strZoneNum = boundaryService.getBoundaryById(zoneId).getName(); final String strWardNum = ""; String target = null; String propTypeName = ""; if (propTypeId != null && propTypeId != -1) propTypeName = propertyTypeMasterDAO.findById(propTypeId, false).getType(); if (zoneId != null && zoneId != -1) try { final StringBuilder queryStr = new StringBuilder(); queryStr.append("from PropertyMaterlizeView pmv where pmv.zone.id=:ZoneID and pmv.isActive = true"); if (wardId != null && wardId != -1) queryStr.append(" and pmv.ward.id=:WardID"); if (areaId != null && areaId != -1) queryStr.append(" and pmv.street.id=:AreaID"); if (propTypeId != null && propTypeId != -1) queryStr.append(" and pmv.propTypeMstrID.id =:propType "); final Query query = getPersistenceService().getSession().createQuery(queryStr.toString()); if (zoneId != null && zoneId != -1) query.setLong("ZoneID", zoneId); if (wardId != null && wardId != -1) query.setInteger("WardID", wardId); if (areaId != null && areaId != -1) query.setInteger("AreaID", areaId); if (propTypeId != null && propTypeId != -1) query.setInteger("propType", propTypeId); final List<PropertyMaterlizeView> propertyList = query.list(); if (propertyList.size() < 0) { setSESSION(getSESSION()); setMode("propType"); target = "nodtls"; } int count = 0; for (final PropertyMaterlizeView propMatview : propertyList) { LOGGER.debug("srchByBndry : Property : " + propMatview); if (count <= 6) setSearchResultList(getResultsFromMv(propMatview)); else break; count++; } if (searchResultList != null) setSearchResultString(getSearchResultsString(searchResultList)); setSearchUri("../search/searchProperty!srchByPropType.action"); setSearchCreteria("Search By Zone, Ward,Area,Property Type"); setSearchValue("Zone Num: " + strZoneNum + ", Ward Num: " + strWardNum + ", Property Type: " + propTypeName); LOGGER.debug("Search Criteria : " + getSearchCreteria()); LOGGER.debug("Search Value : " + getSearchValue()); setSESSION(getSESSION()); setGisCity(GISCITY); setGisVersion(GISVERSION); setMode("propType"); target = "result"; } catch (final Exception e) { LOGGER.error("Exception in Search Property By Property Type ", e); throw new ApplicationRuntimeException("Exception : " + e); } LOGGER.debug("Exit from srchByPropType methods"); return target; } @ValidationErrorPage(value = "demand") public String srchByDemand() { LOGGER.debug("Entered into srchByDemand method"); LOGGER.debug("Zone Id : " + zoneId + ", " + "ward Id : " + wardId + ", " + "Property Type : " + propTypeId + ", " + "Demand from amt : " + demandFromAmt + ", " + "Demand To amt : " + demandToAmt); final String strZoneNum = boundaryService.getBoundaryById(zoneId).getName(); final String strWardNum = ""; String target = null; String propTypeName = ""; if (propTypeId != null && propTypeId != -1) propTypeName = propertyTypeMasterDAO.findById(propTypeId, false).getType(); if (zoneId != null && zoneId != -1) try { final StringBuilder queryStr = new StringBuilder(); queryStr.append("from PropertyMaterlizeView pmv where pmv.zone.id=:ZoneID and pmv.isActive = true"); if (wardId != null && wardId != -1) queryStr.append(" and pmv.ward.id=:WardID"); if (areaId != null && areaId != -1) queryStr.append(" and pmv.street.id=:AreaID"); if (propTypeId != null && propTypeId != -1) queryStr.append(" and pmv.propTypeMstrID.id =:propType "); if (demandFromAmt != null && demandToAmt != null) queryStr.append(" and pmv.aggrCurrDmd BETWEEN :dmdFrmAmt and :dmdToAmt "); final Query query = getPersistenceService().getSession().createQuery(queryStr.toString()); if (zoneId != null && zoneId != -1) query.setLong("ZoneID", zoneId); if (wardId != null && wardId != -1) query.setInteger("WardID", wardId); if (areaId != null && areaId != -1) query.setInteger("AreaID", areaId); if (propTypeId != null && propTypeId != -1) query.setInteger("propType", propTypeId); if (demandFromAmt != null && demandToAmt != null) { query.setBigDecimal("dmdFrmAmt", demandFromAmt); query.setBigDecimal("dmdToAmt", demandToAmt); } final List<PropertyMaterlizeView> propertyList = query.list(); if (propertyList.size() < 0) { setSESSION(getSESSION()); setMode("demand"); target = "nodtls"; } int count = 0; for (final PropertyMaterlizeView propMatview : propertyList) { LOGGER.debug("srchByBndry : Property : " + propMatview); if (count <= 6) setSearchResultList(getResultsFromMv(propMatview)); else break; count++; } if (searchResultList != null) setSearchResultString(getSearchResultsString(searchResultList)); setSearchUri("../search/searchProperty!srchByDemand.action"); setSearchCreteria("Search By Zone, Ward,Area,Property Type,Demand"); setSearchValue("Zone Num: " + strZoneNum + ", Ward Num: " + strWardNum + ", Property Type: " + propTypeName); LOGGER.debug("Search Criteria : " + getSearchCreteria()); LOGGER.debug("Search Value : " + getSearchValue()); setSESSION(getSESSION()); setGisCity(GISCITY); setGisVersion(GISVERSION); setMode("demand"); target = "result"; } catch (final Exception e) { LOGGER.error("Exception in Search Property By Demand ", e); throw new ApplicationRuntimeException("Exception : " + e); } LOGGER.debug("Exit from srchByDemand method"); return target; } @ValidationErrorPage(value = "defaulter") public String srchByDefaulter() { LOGGER.debug("Entered into srchByDefaulter method"); LOGGER.debug("Zone Id : " + zoneId + ", " + "ward Id : " + wardId + ", " + "Property Type : " + propTypeId + ", " + "Defaulter from amt : " + defaulterFromAmt + ", " + "Defaulter To amt : " + defaulterToAmt); final String strZoneNum = boundaryService.getBoundaryById(zoneId).getName(); final String strWardNum = ""; String target = null; String propTypeName = ""; if (propTypeId != null && propTypeId != -1) propTypeName = propertyTypeMasterDAO.findById(propTypeId, false).getType(); if (zoneId != null && zoneId != -1) try { final StringBuilder queryStr = new StringBuilder(); queryStr.append("from PropertyMaterlizeView pmv where pmv.zone.id=:ZoneID and pmv.isActive = true"); if (wardId != null && wardId != -1) queryStr.append(" and pmv.ward.id=:WardID"); if (areaId != null && areaId != -1) queryStr.append(" and pmv.street.id=:AreaID"); if (propTypeId != null && propTypeId != -1) queryStr.append(" and pmv.propTypeMstrID.id =:propType "); if (defaulterFromAmt != null && defaulterToAmt != null) queryStr.append(" and pmv.aggrCurrDmd - pmv.aggrCurrColl between :defaultFrmAmt and :defaultToAmt "); final Query query = getPersistenceService().getSession().createQuery(queryStr.toString()); if (zoneId != null && zoneId != -1) query.setLong("ZoneID", zoneId); if (wardId != null && wardId != -1) query.setInteger("WardID", wardId); if (areaId != null && areaId != -1) query.setInteger("AreaID", areaId); if (propTypeId != null && propTypeId != -1) query.setInteger("propType", propTypeId); if (defaulterFromAmt != null && defaulterToAmt != null) { query.setBigDecimal("defaultFrmAmt", defaulterFromAmt); query.setBigDecimal("defaultToAmt", defaulterToAmt); } final List<PropertyMaterlizeView> propertyList = query.list(); if (propertyList.size() < 0) { setSESSION(getSESSION()); setMode("defaulter"); target = "nodtls"; } int count = 0; for (final PropertyMaterlizeView propMatview : propertyList) { LOGGER.debug("srchByBndry : Property : " + propMatview); if (count <= 6) setSearchResultList(getResultsFromMv(propMatview)); else break; count++; } if (searchResultList != null) setSearchResultString(getSearchResultsString(searchResultList)); setSearchUri("../search/searchProperty!srchByDefaulter.action"); setSearchCreteria("Search By Zone, Ward,Area,Property Type,Defaulter"); setSearchValue("Zone Num: " + strZoneNum + ", Ward Num: " + strWardNum + ", Property Type: " + propTypeName); LOGGER.debug("Search Criteria : " + getSearchCreteria()); LOGGER.debug("Search Value : " + getSearchValue()); setSESSION(getSESSION()); setGisCity(GISCITY); setGisVersion(GISVERSION); setMode("defaulter"); target = "result"; } catch (final Exception e) { LOGGER.error("Exception in Search Property By Defaulter ", e); throw new ApplicationRuntimeException("Exception : " + e); } LOGGER.debug("Exit from srchByDefaulter method"); return target; } @Override @SkipValidation public void prepare() { LOGGER.debug("Entered into prepare method"); final List<Boundary> zoneList = getPersistenceService().findAllBy( "from BoundaryImpl BI where BI.boundaryType.name=? and BI.boundaryType.heirarchyType.name=? " + "and BI.isHistory='N' order by BI.id", ZONE_BNDRY_TYPE, ELECTION_HIERARCHY_TYPE); setZoneBndryMap(CommonServices.getFormattedBndryMap(zoneList)); LOGGER.debug("Zone id : " + zoneId + ", " + "Ward id : " + wardId); prepareWardDropDownData(zoneId != null, wardId != null); prepareAreaDropDownData(wardId != null, areaId != null); final List<PropertyTypeMaster> propTypeList = getPersistenceService().findAllBy("from PropertyTypeMaster"); LOGGER.debug("PropTypeList : " + (propTypeList != null ? propTypeList : ZERO)); addDropdownData("PropType", propTypeList); LOGGER.debug("Zone List : " + (zoneList != null ? zoneList : ZERO)); LOGGER.debug("Exit from prepare method"); } private void prepareWardDropDownData(final boolean zoneExists, final boolean wardExists) { LOGGER.debug("Entered into prepareWardDropDownData method"); LOGGER.debug("Zone Exists ? : " + zoneExists + ", " + "Ward Exists ? : " + wardExists); if (zoneExists && wardExists) { List<Boundary> wardNewList = new ArrayList<Boundary>(); wardNewList = getPersistenceService() .findAllBy( "from BoundaryImpl BI where BI.boundaryType.name=? and BI.parent.id = ? and BI.isHistory='N' order by BI.name ", WARD_BNDRY_TYPE, getZoneId()); addDropdownData("wardList", wardNewList); } else addDropdownData("wardList", Collections.EMPTY_LIST); LOGGER.debug("Exit from prepareWardDropDownData method"); } private void prepareAreaDropDownData(final boolean wardExists, final boolean areaExists) { LOGGER.debug("Entered into prepareAreaDropDownData method"); LOGGER.debug("Ward Exists ? : " + wardExists + ", " + "Area Exists ? : " + areaExists); if (wardExists && areaExists) { List<Boundary> areaNewList = new ArrayList<Boundary>(); areaNewList = getPersistenceService() .findAllBy( "from BoundaryImpl BI where BI.boundaryType.name=? and BI.parent.id = ? and BI.isHistory='N' order by BI.name ", AREA_BNDRY_TYPE, getWardId()); addDropdownData("areaList", areaNewList); } else addDropdownData("areaList", Collections.EMPTY_LIST); LOGGER.debug("Exit from prepareAreaDropDownData method"); } private String getSearchResultsString(final List<Map<String, String>> searchResultList) { LOGGER.debug("Entered into getSearchResultsString method"); final StringBuffer indexNum = new StringBuffer(); final StringBuffer ownerName = new StringBuffer(); final StringBuffer parcelId = new StringBuffer(); final StringBuffer address = new StringBuffer(); final StringBuffer currDemand = new StringBuffer(); final StringBuffer arrDemand = new StringBuffer(); final StringBuffer currDemandDue = new StringBuffer(); final StringBuffer concatResult = new StringBuffer(); for (final Map<String, String> propDtlMap : searchResultList) { indexNum.append(propDtlMap.get("indexNum")); indexNum.append("^"); if (propDtlMap.get("ownerName").length() > 40) { ownerName.append(propDtlMap.get("ownerName").substring(0, 40)); ownerName.append("^"); } else { ownerName.append(propDtlMap.get("ownerName")); ownerName.append("^"); } parcelId.append(propDtlMap.get("parcelId")); parcelId.append("^"); if (propDtlMap.get("address").length() > 40) { address.append(propDtlMap.get("address").substring(0, 40)); address.append("^"); } else { address.append(propDtlMap.get("address")); address.append("^"); } currDemand.append(propDtlMap.get("currDemand")); currDemand.append("^"); arrDemand.append(propDtlMap.get("arrDemand")); arrDemand.append("^"); currDemandDue.append(propDtlMap.get("currDemandDue")); currDemandDue.append("^"); } concatResult.append(indexNum).append("@").append(ownerName).append("@").append(parcelId).append("@") .append(currDemand).append("@").append(arrDemand).append("@").append(currDemandDue); LOGGER.debug("Search Results String : " + concatResult); LOGGER.debug("Exit from getSearchResultsString method"); return concatResult.toString(); } private List<Map<String, String>> getResultsFromMv(final PropertyMaterlizeView pmv) { LOGGER.debug("Entered into getSearchResults method"); LOGGER.debug("Index Number : " + pmv.getPropertyId()); if (pmv.getPropertyId() != null || StringUtils.isNotEmpty(pmv.getPropertyId())) if (pmv != null) { final Map<String, String> searchResultMap = new HashMap<String, String>(); searchResultMap.put("indexNum", pmv.getPropertyId()); searchResultMap.put("ownerName", pmv.getOwnerName()); searchResultMap.put("parcelId", pmv.getGisRefNo()); searchResultMap.put("address", pmv.getPropertyAddress()); searchResultMap.put("currDemand", pmv.getAggrCurrFirstHalfDmd().toString()); searchResultMap.put("currDemandDue", pmv.getAggrCurrFirstHalfDmd().subtract(pmv.getAggrCurrFirstHalfColl()).toString()); searchResultMap.put("arrDemand", pmv.getAggrArrDmd().subtract(pmv.getAggrArrColl()).toString()); searchList.add(searchResultMap); } LOGGER.debug("Search list : " + (searchList != null ? searchList : ZERO)); LOGGER.debug("Exit from getSearchResults method"); return searchList; } @Override public void validate() { LOGGER.debug("Entered into validate method"); if (StringUtils.equals(mode, "bndry")) { if (zoneId == null || zoneId == -1) addActionError("Select Zone."); } else if (StringUtils.equals(mode, "propType")) { if (propTypeId == null || propTypeId == -1) addActionError("Select Property Type."); if (zoneId == null || zoneId == -1) addActionError("Select Zone."); } else if (StringUtils.equals(mode, "defaulter")) { if (zoneId == null || zoneId == -1) addActionError("Select Zone."); if (defaulterFromAmt != null) { if (defaulterToAmt != null) { if (defaulterFromAmt.signum() == 0) addActionError("Please enter amount greater than zero for From Amount."); if (defaulterToAmt.signum() == 0) addActionError("Please enter amount greater than zero for To Amount."); if (defaulterFromAmt.compareTo(defaulterToAmt) == 1) addActionError("From Amount must be less than To Amount."); } else addActionError("Enter To Amount."); } else addActionError("Enter From Amount."); } else if (StringUtils.equals(mode, "demand")) { if (zoneId == null || zoneId == -1) addActionError("Select Zone."); if (demandFromAmt != null) { if (demandToAmt != null) { if (demandFromAmt.signum() == 0) addActionError("Please enter amount greater than zero for From Amount."); if (demandToAmt.signum() == 0) addActionError("Please enter amount greater than zero for To Amount."); if (demandFromAmt.compareTo(demandToAmt) == 1) addActionError("From Amount must be less than To Amount."); } else addActionError("Enter To Amount."); } else addActionError("Enter From Amount."); } LOGGER.debug("Exit from validate method"); } public Long getZoneId() { return zoneId; } public void setZoneId(final Long zoneId) { this.zoneId = zoneId; } public Integer getWardId() { return wardId; } public void setWardId(final Integer wardId) { this.wardId = wardId; } public Integer getAreaId() { return areaId; } public void setAreaId(final Integer areaId) { this.areaId = areaId; } public String getMode() { return mode; } public void setMode(final String mode) { this.mode = mode; } public String getHouseNum() { return houseNum; } public void setHouseNum(final String houseNum) { this.houseNum = houseNum; } public String getOwnerName() { return ownerName; } public void setOwnerName(final String ownerName) { this.ownerName = ownerName; } public Integer getPropTypeId() { return propTypeId; } public void setPropTypeId(final Integer propTypeId) { this.propTypeId = propTypeId; } public List<Map<String, String>> getSearchResultList() { return searchResultList; } public void setSearchResultList(final List<Map<String, String>> searchResultList) { this.searchResultList = searchResultList; } public String getSearchUri() { return searchUri; } public void setSearchUri(final String searchUri) { this.searchUri = searchUri; } public String getSearchCreteria() { return searchCreteria; } public void setSearchCreteria(final String searchCreteria) { this.searchCreteria = searchCreteria; } public String getSearchValue() { return searchValue; } public void setSearchValue(final String searchValue) { this.searchValue = searchValue; } public BigDecimal getDemandFromAmt() { return demandFromAmt; } public void setDemandFromAmt(final BigDecimal demandFromAmt) { this.demandFromAmt = demandFromAmt; } public BigDecimal getDemandToAmt() { return demandToAmt; } public void setDemandToAmt(final BigDecimal demandToAmt) { this.demandToAmt = demandToAmt; } public BigDecimal getDefaulterFromAmt() { return defaulterFromAmt; } public void setDefaulterFromAmt(final BigDecimal defaulterFromAmt) { this.defaulterFromAmt = defaulterFromAmt; } public BigDecimal getDefaulterToAmt() { return defaulterToAmt; } public void setDefaulterToAmt(final BigDecimal defaulterToAmt) { this.defaulterToAmt = defaulterToAmt; } public String getSESSION() { return SESSION; } public void setSESSION(final String session) { SESSION = session; } public String getSearchResultString() { return searchResultString; } public void setSearchResultString(final String searchResultString) { this.searchResultString = searchResultString; } public String getGisVersion() { return gisVersion; } public void setGisVersion(final String gisVersion) { this.gisVersion = gisVersion; } public String getGisCity() { return gisCity; } public void setGisCity(final String gisCity) { this.gisCity = gisCity; } public Map<Long, String> getZoneBndryMap() { return ZoneBndryMap; } public void setZoneBndryMap(final Map<Long, String> zoneBndryMap) { ZoneBndryMap = zoneBndryMap; } }