From: davejmartin <dav...@us...> - 2008-03-13 16:06:17
|
Update of /cvsroot/gbif/portal-web/src/main/java/org/gbif/portal/web/controller/geography In directory sc8-pr-cvs2.sourceforge.net:/tmp/cvs-serv17712/src/main/java/org/gbif/portal/web/controller/geography Modified Files: GeographyController.java Log Message: geospatial counts for country for each resource Index: GeographyController.java =================================================================== RCS file: /cvsroot/gbif/portal-web/src/main/java/org/gbif/portal/web/controller/geography/GeographyController.java,v retrieving revision 1.17 retrieving revision 1.18 diff -C2 -d -r1.17 -r1.18 *** GeographyController.java 10 Sep 2007 13:57:01 -0000 1.17 --- GeographyController.java 13 Mar 2008 16:05:48 -0000 1.18 *************** *** 23,26 **** --- 23,27 ---- import org.apache.commons.lang.StringUtils; + import org.gbif.portal.dto.CountDTO; import org.gbif.portal.dto.SearchResultsDTO; import org.gbif.portal.dto.geospatial.CountryDTO; *************** *** 31,34 **** --- 32,36 ---- import org.gbif.portal.web.content.map.MapContentProvider; import org.gbif.portal.web.controller.RestController; + import org.springframework.web.bind.ServletRequestUtils; import org.springframework.web.servlet.ModelAndView; import org.springframework.web.servlet.support.RequestContextUtils; *************** *** 48,52 **** protected String keyRequestKey = "key"; protected String zoomRequestKey = "zoom"; ! protected String countryModelKey = "country"; /** --- 50,55 ---- protected String keyRequestKey = "key"; protected String zoomRequestKey = "zoom"; ! protected String countryModelKey = "country"; ! protected String resourceCountsModelKey = "resourceCounts"; /** *************** *** 69,86 **** country = (CountryDTO) results.get(0); } if(country!=null){ ModelAndView mav = resolveAndCreateView(properties, request, false); mav.addObject(countryModelKey, country); if(logger.isDebugEnabled()) logger.debug("Returning details of:"+country); //if zoom level not specified, jump to correct zoom level for this country ! if(!MapContentProvider.zoomLevelSpecified(request) && country.getMinLongitude()!=null && country.getMinLatitude()!=null && country.getMaxLongitude()!=null && country.getMaxLatitude()!=null){ //zoom to the correct level for this country ! mapContentProvider.addMapContent(request, EntityType.TYPE_COUNTRY.getName(), country.getKey(), country.getMinLongitude(), country.getMinLatitude(), country.getMaxLongitude(), country.getMaxLatitude()); ! mapContentProvider.addPointsTotalsToRequest(request, EntityType.TYPE_COUNTRY, country.getKey(), new BoundingBoxDTO(country.getMinLongitude(), country.getMinLatitude(), country.getMaxLongitude(), country.getMaxLatitude())); } else { //zoom to the level specified in the request ! mapContentProvider.addMapContent(request, EntityType.TYPE_COUNTRY.getName(), country.getKey()); ! mapContentProvider.addPointsTotalsToRequest(request, EntityType.TYPE_COUNTRY, country.getKey(), null); } return mav; --- 72,106 ---- country = (CountryDTO) results.get(0); } + + if(country!=null){ + + List<CountDTO> resourceCounts = geospatialManager.getDataResourceCountsForCountry(country.getIsoCountryCode(), true); + boolean showHosted = ServletRequestUtils.getBooleanParameter(request, "hosted", false); + EntityType entityType = null; + if(showHosted){ + entityType = EntityType.TYPE_HOME_COUNTRY; + } else { + entityType = EntityType.TYPE_COUNTRY; + } + ModelAndView mav = resolveAndCreateView(properties, request, false); mav.addObject(countryModelKey, country); + mav.addObject(resourceCountsModelKey, resourceCounts); + if(logger.isDebugEnabled()) logger.debug("Returning details of:"+country); //if zoom level not specified, jump to correct zoom level for this country ! if(!MapContentProvider.zoomLevelSpecified(request) && !showHosted && country.getMinLongitude()!=null ! && country.getMinLatitude()!=null && country.getMaxLongitude()!=null && country.getMaxLatitude()!=null){ //zoom to the correct level for this country ! mapContentProvider.addMapContent(request, entityType.getName(), country.getKey(), country.getMinLongitude(), ! country.getMinLatitude(), country.getMaxLongitude(), country.getMaxLatitude()); ! mapContentProvider.addPointsTotalsToRequest(request, entityType, country.getKey(), ! new BoundingBoxDTO(country.getMinLongitude(), country.getMinLatitude(), country.getMaxLongitude(), country.getMaxLatitude())); } else { //zoom to the level specified in the request ! mapContentProvider.addMapContent(request, entityType.getName(), country.getKey()); ! mapContentProvider.addPointsTotalsToRequest(request, entityType, country.getKey(), null); } return mav; *************** *** 124,126 **** --- 144,153 ---- this.zoomRequestKey = zoomRequestKey; } + + /** + * @param resourceCountsModelKey the resourceCountsModelKey to set + */ + public void setResourceCountsModelKey(String resourceCountsModelKey) { + this.resourceCountsModelKey = resourceCountsModelKey; + } } \ No newline at end of file |