List of usage examples for org.springframework.web.servlet.support RequestContextUtils getLocale
public static Locale getLocale(HttpServletRequest request)
From source file:org.gbif.portal.web.controller.openmodeller.OpenModellerController.java
/** * Starts the creation of the model, starting a thread and redirecting to a polling view for checking * whether model has been rendered.//from w w w . j a va 2 s . com * * @param request * @param response * @return * @throws Exception */ @SuppressWarnings("unchecked") public ModelAndView createModel(HttpServletRequest request, HttpServletResponse response) throws Exception { String criteriaAsString = request.getParameter(criteriaRequestKey); CriteriaDTO criteria = CriteriaUtil.getCriteria(java.net.URLDecoder.decode(criteriaAsString, "UTF-8"), occurrenceFilters.getFilters(), (Locale) null); List<PropertyStoreTripletDTO> triplets = queryHelper.getTriplets(occurrenceFilters.getFilters(), criteria, request, response); if (triplets.size() > 0) { filterContentProvider.addGeoreferencedOnlyOccurrenceTriplets(triplets, triplets.get(0).getNamespace()); } if (triplets.isEmpty()) { //add georeferenced triplets PropertyStoreTripletDTO triplet = triplets.get(0); filterContentProvider.addGeoreferencedOnlyOccurrenceTriplets(triplets, triplet.getNamespace()); } //do occurrence query int maxPoints = ServletRequestUtils.getIntParameter(request, "maxResults", maxPointsForModel); SearchResultsDTO results = tripletQueryManager.doTripletQuery(triplets, true, new SearchConstraints(0, maxPoints)); List<PointDTO> points = results.getResults(); OMModel omModel = new OMModel(); for (PointDTO point : points) { omModel.addPoint(point.getKey(), point.getLongitude().toString(), point.getLatitude().toString()); } //select the layers String[] selectedLayers = request.getParameterValues(layerRequestKey); if (selectedLayers != null) { for (String selectedLayer : selectedLayers) { Layer layer = marineLayers.get(selectedLayer); if (layer == null) { layer = landLayers.get(selectedLayer); } if (layer != null) { if (logger.isDebugEnabled()) { logger.debug("selected layer: " + selectedLayer + ", Adding layer: " + layer.getName() + " path:" + layer.getPath()); } omModel.addLayer(layer.getPath()); } } } //select the mask String maskId = request.getParameter(maskRequestKey); omModel.setMaskId(masks.get(maskId)); //set algorithm omModel.setAlgorithm(algorithmVersion, algorithmName); //set template String template = request.getParameter(templateRequestKey); omModel.setTemplateLayerId(templates.get(template)); //id for this generated model String modelId = Long.toString(System.currentTimeMillis()); //create a file File temporaryFile = DownloadUtils.createTempFileOutput(downloadFileNamePrefix, modelId, fileExtension, false); OutputStream outputStream = DownloadUtils.createOutputStream(temporaryFile, downloadFileNamePrefix, modelId, fileExtension, false); //start the file writing thread OpenModellerFileWriter fw = new OpenModellerFileWriter(); fw.setOmModel(omModel); fw.setModelId(modelId); fw.setTemporaryFile(temporaryFile); fw.setOutputStream(outputStream); fw.setImgFileExtension(fileExtension); fw.setOpenModellerEndpoint(openModellerEndpoint); Thread t = new Thread(fw); t.start(); String requestLayerSet = ServletRequestUtils.getStringParameter(request, selectedLayersRequestKey); //construct original url & redirect url StringBuffer sb = new StringBuffer("/occurrence/setupModel.htm?"); sb.append(CriteriaUtil.getUrl(criteria)); sb.append("&"); sb.append(maskRequestKey); sb.append("="); sb.append(maskId); if (requestLayerSet != null) { sb.append("&"); sb.append(selectedLayersRequestKey); sb.append("="); sb.append(requestLayerSet); } sb.append("&"); sb.append(templateRequestKey); sb.append("="); sb.append(template); if (selectedLayers != null) { for (String layer : selectedLayers) { sb.append("&"); sb.append(layerRequestKey); sb.append("="); sb.append(layer); } } String originalUrl = sb.toString(); String downloadFile = DownloadUtils.getFileNameWithoutTempMarker(temporaryFile.getName()); sb.append("&"); sb.append("img"); sb.append("="); sb.append(downloadFile); String redirectUrl = sb.toString(); String fileNameWithoutExtension = FilenameUtils.removeExtension(downloadFile); //generate description Locale locale = RequestContextUtils.getLocale(request); StringBuffer downloadDesc = new StringBuffer( messageSource.getMessage("model.preparing.description", null, locale) + "<br>"); downloadDesc.append( FilterUtils.getQueryDescription(occurrenceFilters.getFilters(), criteria, messageSource, locale)); DownloadUtils.writeDownloadToDescriptor(request, fileNameWithoutExtension, originalUrl, downloadFileType, downloadDesc.toString(), true, redirectUrl); //redirect to download preparing page return new ModelAndView(new RedirectView( "/download/preparingDownload.htm?downloadFile=" + downloadFile + "&view=" + prepareModelView, true)); }
From source file:org.gbif.portal.web.controller.registration.RegistrationController.java
/** * Populates the ReferenceData for the resource list page *///from w w w . j ava 2 s. c o m protected Map<String, Object> referenceDataForResource(HttpServletRequest request, ResourceDetail resourceDetail) throws Exception { Map<String, Object> data = new HashMap<String, Object>(); Locale locale = RequestContextUtils.getLocale(request); DataProviderDTO nubProvider = dataResourceManager.getNubDataProvider(); DataResourceDTO dataResourceDTO = null; List<DataResourceDTO> resourceDTOs = dataResourceManager.getDataResourcesForProvider(nubProvider.getKey()); if (resourceDTOs != null && !resourceDTOs.isEmpty()) dataResourceDTO = resourceDTOs.get(0); data.put(RegistrationController.REQUEST_BASES_OF_RECORD, basisOfRecordTypes); data.put(RegistrationController.REQUEST_RESOURCE_NETWORKS, dataResourceManager.getResourceNetworkList()); data.put(RegistrationController.REQUEST_COUNTRIES, geospatialManager.findAllCountries(locale).getResults()); data.put(RegistrationController.REQUEST_DATA_PROVIDER, nubProvider); data.put(RegistrationController.REQUEST_DATA_RESOURCE, dataResourceDTO); data.put(RegistrationController.REQUEST_RESOURCE_TYPES, resourceTypes); data.put("messageSource", messageSource); if (StringUtils.isNotEmpty(resourceDetail.getHighestTaxaConceptId())) { data.put(RegistrationController.REQUEST_CONCEPTS, taxonomyManager .getClassificationFor(resourceDetail.getHighestTaxaConceptId(), true, null, true)); data.put(RegistrationController.REQUEST_SELECTED_CONCEPT, taxonomyManager.getTaxonConceptFor(resourceDetail.getHighestTaxaConceptId())); } else { data.put(RegistrationController.REQUEST_CONCEPTS, taxonomyManager .getRootTaxonConceptsForTaxonomy(nubProvider.getKey(), dataResourceDTO.getKey())); } return data; }
From source file:org.gbif.portal.web.controller.registration.RegistrationController.java
/** * Populates the ReferenceData for the resource list page *//*from w w w . java 2 s . co m*/ protected Map<String, Object> referenceDataForResourceList(HttpServletRequest request, ProviderDetail providerDetail) throws Exception { Map<String, Object> data = new HashMap<String, Object>(); Locale locale = RequestContextUtils.getLocale(request); DataProviderDTO nubProvider = dataResourceManager.getNubDataProvider(); DataResourceDTO dataResourceDTO = null; List<DataResourceDTO> resourceDTOs = dataResourceManager.getDataResourcesForProvider(nubProvider.getKey()); if (resourceDTOs != null && !resourceDTOs.isEmpty()) dataResourceDTO = resourceDTOs.get(0); data.put(RegistrationController.REQUEST_BASES_OF_RECORD, basisOfRecordTypes); data.put(RegistrationController.REQUEST_RESOURCE_NETWORKS, dataResourceManager.getResourceNetworkList()); data.put(RegistrationController.REQUEST_COUNTRIES, geospatialManager.findAllCountries(locale).getResults()); data.put(RegistrationController.REQUEST_DATA_PROVIDER, nubProvider); data.put(RegistrationController.REQUEST_DATA_RESOURCE, dataResourceDTO); data.put(RegistrationController.REQUEST_RESOURCE_TYPES, resourceTypes); data.put(RegistrationController.REQUEST_CONCEPTS, taxonomyManager.getRootTaxonConceptsForTaxonomy(nubProvider.getKey(), dataResourceDTO.getKey())); data.put("messageSource", messageSource); return data; }
From source file:org.gbif.portal.web.controller.taxonomy.TaxonNameSearchController.java
private ModelAndView handleSingleConceptNameSearch(Map<String, String> propertiesMap, HttpServletRequest request, HttpServletResponse response, String query, String view) throws Exception { String rank = propertiesMap.get("rank"); String provider = propertiesMap.get("provider"); String resource = propertiesMap.get("resource"); ModelAndView mav = new ModelAndView(view); SearchResultsDTO searchResults = taxonomyManager.findTaxonConceptsForCommonName(query, true, new SearchConstraints(0, 1)); if (searchResults.isEmpty()) { searchResults = taxonomyManager.findTaxonConcepts(query, true, rank, provider, resource, null, null, RequestContextUtils.getLocale(request).getLanguage(), null, allowUnconfirmedNames, false, new SearchConstraints(0, 1)); }/* ww w . jav a 2 s . co m*/ mav.addObject(searchResultsModelKey, searchResults); return mav; }
From source file:org.gbif.portal.web.controller.taxonomy.TaxonNameSearchController.java
/** * Handle concept searches/*from www .jav a 2 s . c o m*/ * * @param propertiesMap * @param request * @param response * @return * @throws Exception */ public ModelAndView handleConceptSearch(Map<String, String> propertiesMap, HttpServletRequest request, HttpServletResponse response, String query, String view) throws Exception { String rank = propertiesMap.get("rank"); String provider = propertiesMap.get("provider"); String resource = propertiesMap.get("resource"); ModelAndView mav = new ModelAndView(view); SearchResultsDTO searchResults = taxonomyManager.findTaxonConcepts(query, true, rank, provider, resource, null, null, RequestContextUtils.getLocale(request).getLanguage(), null, allowUnconfirmedNames, false, new SearchConstraints(0, maxResults)); if (searchResults != null && searchResults.isEmpty()) { searchResults = taxonomyManager.findTaxonConceptsForCommonName(query, true, new SearchConstraints(0, maxResults)); } mav.addObject(searchResultsModelKey, searchResults); return mav; }
From source file:org.gbif.portal.web.controller.tutorial.TutorialController.java
/** * @see org.gbif.portal.web.controller.RestController#handleRequest(java.util.Map, javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse) *///from w w w. jav a 2 s. c o m @SuppressWarnings("unchecked") public ModelAndView handleRequest(Map<String, String> properties, HttpServletRequest request, HttpServletResponse response) throws Exception { String locale = RequestContextUtils.getLocale(request).getLanguage(); if (!supportedLocales.contains(locale)) { locale = defaultLocale; } String pageName = properties.get(tutorialPageNameKey); if (StringUtils.isEmpty(pageName)) { properties.put(tutorialPageNameKey, defaultTutorialPage); } properties.put(localeKey, locale); return new ModelAndView(tutorialViewName, properties); }
From source file:org.gbif.portal.web.filter.CriteriaUtil.java
/** * Retrieves a CriteriaDTO from this request. * @param request// w w w . j a v a 2 s . co m * @param filters the filters to use to populate the criteria * @return CriteriaDTO for the criteria in the supplied request */ public static CriteriaDTO getCriteria(HttpServletRequest request, List<FilterDTO> filters) throws Exception { if (logger.isDebugEnabled()) logger.debug("criteria string:" + request.getQueryString()); //find the number of criteria set in the request MutablePropertyValues mpvs = new ServletRequestParameterPropertyValues(request); PropertyValue[] pvs = mpvs.getPropertyValues(); Locale locale = RequestContextUtils.getLocale(request); return getCriteria(pvs, filters, locale); }
From source file:org.gbif.portal.web.filter.CriteriaUtil.java
/** * Grouping of utilities to populate a set of criteria from a request * @param filters// w ww . jav a 2s .c om * @param criteria */ @SuppressWarnings("unchecked") public static CriteriaDTO getCriteriaAndPopulate(HttpServletRequest request, List<FilterDTO> filters) throws Exception { CriteriaDTO criteria = CriteriaUtil.getCriteria(request, filters); CriteriaUtil.checkFilterConstraints(filters, criteria); Locale locale = RequestContextUtils.getLocale(request); CriteriaUtil.setCriteriaDisplayValues(filters, criteria, locale); CriteriaUtil.setCriteriaGroupValues(filters, criteria); CriteriaUtil.orderByCategorySubjectAndValue(criteria); return criteria; }
From source file:org.gbif.portal.web.tag.FlatTreeTag.java
/** * @see javax.servlet.jsp.tagext.TagSupport#doEndTag() *///w w w . j av a 2 s . c om @Override public int doEndTag() throws JspException { StringBuffer sb = new StringBuffer(); HttpServletRequest request = (HttpServletRequest) this.pageContext.getRequest(); String contextPath = request.getContextPath(); if (concepts != null && concepts.size() > 0) { if (StringUtils.isNotEmpty(classname)) { sb.append("<ul class='"); sb.append(classname); sb.append("'> "); } else { sb.append("<ul>"); } Iterator<BriefTaxonConceptDTO> iter = concepts.iterator(); while (iter.hasNext()) { BriefTaxonConceptDTO conceptDTO = iter.next(); sb.append("<li>"); if (messageSource != null) { sb.append(messageSource.getMessage("taxonrank." + conceptDTO.getRank(), null, RequestContextUtils.getLocale(request))); } else { sb.append(StringUtils.capitalize(conceptDTO.getRank())); } sb.append(": "); boolean isSelectedConcept = false; if (selectedConcept != null) isSelectedConcept = conceptDTO.getKey().equals(selectedConcept.getKey()); if (!isSelectedConcept) { sb.append("<a href=\""); sb.append(contextPath); sb.append(speciesUrlPrefix); sb.append(conceptDTO.getKey()); sb.append("\">"); } TaxonRankType rankType = TaxonRankType.getRank(conceptDTO.getRank()); if (rankType != null && rankType.getValue() >= TaxonRankType.GENUS.getValue()) { sb.append("<span class=\""); sb.append(generaClassName); sb.append("\">"); sb.append(conceptDTO.getTaxonName()); sb.append("</span>"); } else { sb.append(conceptDTO.getTaxonName()); } if (!isSelectedConcept) sb.append("</a>"); sb.append("</li>"); } sb.append("</ul>"); } try { this.pageContext.getOut().println(sb.toString()); } catch (IOException e) { log.error(e.getMessage(), e); } return SKIP_BODY; }
From source file:org.gbif.portal.web.tag.SmallTaxonomyBrowserTag.java
/** * Render an element in the tree.//from www . java 2s .c o m * * @param conceptList * @param sb * @param pageContext * @param contextPath */ protected void addElement(BriefTaxonConceptDTO concept, StringBuffer sb, String contextPath) { Locale locale = RequestContextUtils.getLocale((HttpServletRequest) pageContext.getRequest()); if (concept instanceof SpecialTreeNode) { addElement((SpecialTreeNode) concept, sb, contextPath); return; } sb.append("<p"); if (selectedConcept != null && selectedConcept.getKey().equals(concept.getKey())) { if (markConceptBelowThreshold && concept.getTaxonomicPriority() > taxonPriorityThreshold) sb.append(" class=\"selectedTentative\""); else sb.append(" class=\"selected\""); } sb.append(">"); // add link with image if (selectedConcept == null || !selectedConcept.getKey().equals(concept.getKey())) { sb.append("<a href=\""); sb.append(getLink(contextPath, concept)); sb.append("\" class=\""); if (markConceptBelowThreshold && concept.getTaxonomicPriority() > taxonPriorityThreshold) sb.append("treeNodeLinkTentative"); else sb.append("treeNodeLink"); sb.append("\" title=\""); sb.append(messageSource.getMessage("taxonomy.browser.all.expand.node", null, locale)); sb.append(" '"); sb.append(concept.getTaxonName()); sb.append("'\">"); sb.append("<span class=\"conceptLink\"> </span>"); } else { sb.append("<span class=\"selectedConceptLink\"> </span>"); } sb.append("<span class=\"rank\">"); // internationalization // sb.append(StringUtils.capitalize(concept.getRank())); sb.append(messageSource.getMessage("taxonrank." + concept.getRank(), null, StringUtils.capitalize(concept.getRank()), locale)); sb.append(": "); sb.append("</span><span class=\""); TaxonRankType taxonRankType = TaxonRankType.getRank(concept.getRank()); if (taxonRankType != null && taxonRankType.getValue() >= TaxonRankType.GENUS.getValue()) { sb.append("generaTaxon"); } else { sb.append("taxon"); } sb.append("\">"); sb.append(concept.getTaxonName()); sb.append("</span>"); if (selectedConcept == null || !selectedConcept.getKey().equals(concept.getKey())) sb.append("</a>"); if (addOverviewLink) { // if it isnt a nub concept direct towards partnerConceptKey - which will be the nub concept for this concept // only link if tied to nub String conceptKey = null; if (concept.getIsNubConcept()) conceptKey = concept.getKey(); else conceptKey = concept.getPartnerConceptKey(); // only supporting overview links for major ranks if (conceptKey != null && (TaxonRankType.isRecognisedMajorRank(concept.getRank()) || TaxonRankType.SUB_SPECIES_STR.equals(concept.getRank()))) { sb.append("<span class=\""); sb.append("overview"); sb.append("\"><a href=\""); sb.append(contextPath); sb.append(overviewRootUrl); // if it isnt a nub concept direct towards partnerConceptKey - which will be the nub concept for this concept sb.append(conceptKey); sb.append("\" class=\""); if (markConceptBelowThreshold && concept.getTaxonomicPriority() > taxonPriorityThreshold) sb.append("taxonOverviewLinkTentative"); else sb.append("taxonOverviewLink"); sb.append("\" title=\""); sb.append(messageSource.getMessage(overviewLinkTitle, null, locale)); sb.append(concept.getTaxonName()); sb.append("\"><span class=\"overviewLink\"> </span>"); // sb.append(TagUtils.getMessage(overviewLinkText, "Overview", pageContext)); sb.append(messageSource.getMessage(overviewLinkText, null, locale)); sb.append("</a></span>"); // Calculating number of occurrences for species and subspecies if (concept.getRank().equals(TaxonRankType.SPECIES_STR) || concept.getRank().equals(TaxonRankType.SUB_SPECIES_STR)) { int occurrencesCount = 0; try { occurrencesCount = occurrenceManager.countOccurrenceRecords(null, null, null, concept.getKey(), null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, false); } catch (ServiceException e) { logger.error(e.getMessage(), e); } Object[] messageArgs = { occurrencesCount }; sb.append("<span class=\"occurrenceCount\">"); sb.append((occurrencesCount == 0 ? messageSource.getMessage(noOccurrences, null, locale) : messageSource.getMessage(numberOfOccurrences, messageArgs, locale))); sb.append("</span>"); } } } sb.append("</p>"); }