List of usage examples for org.springframework.beans BeanWrapperImpl setConversionService
public void setConversionService(@Nullable ConversionService conversionService)
From source file:org.wallride.web.support.ControllerUtils.java
public static MultiValueMap<String, String> convertBeanForQueryParams(Object target, ConversionService conversionService) { BeanWrapperImpl beanWrapper = new BeanWrapperImpl(target); beanWrapper.setConversionService(conversionService); MultiValueMap<String, String> queryParams = new LinkedMultiValueMap(); for (PropertyDescriptor pd : beanWrapper.getPropertyDescriptors()) { if (beanWrapper.isWritableProperty(pd.getName())) { Object pv = beanWrapper.getPropertyValue(pd.getName()); if (pv != null) { if (pv instanceof Collection) { if (!CollectionUtils.isEmpty((Collection) pv)) { for (Object element : (Collection) pv) { queryParams.set(pd.getName(), convertPropertyValueForString(target, pd, element)); }//from ww w .j a v a 2 s .c o m } } else { queryParams.set(pd.getName(), convertPropertyValueForString(target, pd, pv)); } } } } return queryParams; }
From source file:cn.guoyukun.spring.jpa.entity.search.utils.SearchableConvertUtils.java
/** * @param search ?/*from w w w.j a v a 2 s . c om*/ * @param entityClass * @param <T> */ public static <T> void convertSearchValueToEntityValue(final Searchable search, final Class<T> entityClass) { if (search.isConverted()) { return; } Collection<SearchFilter> searchFilters = search.getSearchFilters(); BeanWrapperImpl beanWrapper = new BeanWrapperImpl(entityClass); beanWrapper.setAutoGrowNestedPaths(true); beanWrapper.setConversionService(getConversionService()); for (SearchFilter searchFilter : searchFilters) { convertSearchValueToEntityValue(beanWrapper, searchFilter); } }
From source file:org.wallride.web.controller.admin.user.UserDescribeController.java
@RequestMapping public String describe(@PathVariable String language, @RequestParam long id, String query, Model model) { User user = userService.getUserById(id); if (user == null) { throw new HttpNotFoundException(); }/* w w w. j av a2 s .c o m*/ MutablePropertyValues mpvs = new MutablePropertyValues( UriComponentsBuilder.newInstance().query(query).build().getQueryParams()); for (Iterator<PropertyValue> i = mpvs.getPropertyValueList().iterator(); i.hasNext();) { PropertyValue pv = i.next(); boolean hasValue = false; for (String value : (List<String>) pv.getValue()) { if (StringUtils.hasText(value)) { hasValue = true; break; } } if (!hasValue) { i.remove(); } } BeanWrapperImpl beanWrapper = new BeanWrapperImpl(new UserSearchForm()); beanWrapper.setConversionService(conversionService); beanWrapper.setPropertyValues(mpvs, true, true); UserSearchForm form = (UserSearchForm) beanWrapper.getWrappedInstance(); List<Long> ids = userService.getUserIds(form.toUserSearchRequest()); if (!CollectionUtils.isEmpty(ids)) { int index = ids.indexOf(user.getId()); if (index < ids.size() - 1) { Long next = ids.get(index + 1); model.addAttribute("next", next); } if (index > 0) { Long prev = ids.get(index - 1); model.addAttribute("prev", prev); } } model.addAttribute("user", user); model.addAttribute("query", query); return "user/describe"; }
From source file:org.wallride.web.controller.admin.page.PageDescribeController.java
@RequestMapping public String describe(@PathVariable String language, @RequestParam long id, String query, Model model, RedirectAttributes redirectAttributes) { Page page = pageService.getPageById(id); if (page == null) { throw new HttpNotFoundException(); }//from w w w. j a v a 2 s . com if (!page.getLanguage().equals(language)) { Page target = pageService.getPageByCode(page.getCode(), language); if (target != null) { redirectAttributes.addAttribute("id", target.getId()); return "redirect:/_admin/{language}/pages/describe?id={id}"; } else { redirectAttributes.addFlashAttribute("original", page); redirectAttributes.addAttribute("code", page.getCode()); return "redirect:/_admin/{language}/pages/create?code={code}"; } } MutablePropertyValues mpvs = new MutablePropertyValues( UriComponentsBuilder.newInstance().query(query).build().getQueryParams()); for (Iterator<PropertyValue> i = mpvs.getPropertyValueList().iterator(); i.hasNext();) { PropertyValue pv = i.next(); boolean hasValue = false; for (String value : (List<String>) pv.getValue()) { if (StringUtils.hasText(value)) { hasValue = true; break; } } if (!hasValue) { i.remove(); } } BeanWrapperImpl beanWrapper = new BeanWrapperImpl(new PageSearchForm()); beanWrapper.setConversionService(conversionService); beanWrapper.setPropertyValues(mpvs, true, true); PageSearchForm form = (PageSearchForm) beanWrapper.getWrappedInstance(); List<Long> ids = pageService.getPageIds(form.toPageSearchRequest()); if (!CollectionUtils.isEmpty(ids)) { int index = ids.indexOf(page.getId()); if (index < ids.size() - 1) { Long next = ids.get(index + 1); model.addAttribute("next", next); } if (index > 0) { Long prev = ids.get(index - 1); model.addAttribute("prev", prev); } } model.addAttribute("page", page); model.addAttribute("query", query); return "page/describe"; }
From source file:org.wallride.web.controller.admin.article.ArticleDescribeController.java
@RequestMapping public String describe(@PathVariable String language, @RequestParam long id, String query, Model model, RedirectAttributes redirectAttributes) { Article article = articleService.getArticleById(id); if (article == null) { throw new HttpNotFoundException(); }/*w ww . j a v a2s. co m*/ if (!article.getLanguage().equals(language)) { Article target = articleService.getArticleByCode(article.getCode(), language); if (target != null) { redirectAttributes.addAttribute("id", target.getId()); return "redirect:/_admin/{language}/articles/describe?id={id}"; } else { redirectAttributes.addFlashAttribute("original", article); redirectAttributes.addAttribute("code", article.getCode()); return "redirect:/_admin/{language}/articles/create?code={code}"; } } MutablePropertyValues mpvs = new MutablePropertyValues( UriComponentsBuilder.newInstance().query(query).build().getQueryParams()); for (Iterator<PropertyValue> i = mpvs.getPropertyValueList().iterator(); i.hasNext();) { PropertyValue pv = i.next(); boolean hasValue = false; for (String value : (List<String>) pv.getValue()) { if (StringUtils.hasText(value)) { hasValue = true; break; } } if (!hasValue) { i.remove(); } } BeanWrapperImpl beanWrapper = new BeanWrapperImpl(new ArticleSearchForm()); beanWrapper.setConversionService(conversionService); beanWrapper.setPropertyValues(mpvs, true, true); ArticleSearchForm form = (ArticleSearchForm) beanWrapper.getWrappedInstance(); List<Long> ids = articleService.getArticleIds(form.toArticleSearchRequest()); if (!CollectionUtils.isEmpty(ids)) { int index = ids.indexOf(article.getId()); if (index < ids.size() - 1) { Long next = ids.get(index + 1); model.addAttribute("next", next); } if (index > 0) { Long prev = ids.get(index - 1); model.addAttribute("prev", prev); } } model.addAttribute("article", article); model.addAttribute("query", query); return "article/describe"; }
From source file:org.springframework.beans.BeanWrapperTests.java
@Test public void testNullNestedTypeDescriptor() { Foo foo = new Foo(); BeanWrapperImpl wrapper = new BeanWrapperImpl(foo); wrapper.setConversionService(new DefaultConversionService()); wrapper.setAutoGrowNestedPaths(true); wrapper.setPropertyValue("listOfMaps[0]['luckyNumber']", "9"); assertEquals("9", foo.listOfMaps.get(0).get("luckyNumber")); }
From source file:org.springframework.beans.BeanWrapperTests.java
@Test public void testNullNestedTypeDescriptor2() { Foo foo = new Foo(); BeanWrapperImpl wrapper = new BeanWrapperImpl(foo); wrapper.setConversionService(new DefaultConversionService()); wrapper.setAutoGrowNestedPaths(true); Map<String, String> map = new HashMap<String, String>(); map.put("favoriteNumber", "9"); wrapper.setPropertyValue("list[0]", map); assertEquals(map, foo.list.get(0));//from w w w. j a v a2 s.c o m }
From source file:org.springframework.beans.BeanWrapperTests.java
@Test public void testNullNestedTypeDescriptorWithBadConversionService() { Foo foo = new Foo(); BeanWrapperImpl wrapper = new BeanWrapperImpl(foo); wrapper.setConversionService(new GenericConversionService() { @Override/*from w ww .j ava 2 s .c o m*/ public Object convert(Object source, TypeDescriptor sourceType, TypeDescriptor targetType) { throw new ConversionFailedException(sourceType, targetType, source, null); } }); wrapper.setAutoGrowNestedPaths(true); wrapper.setPropertyValue("listOfMaps[0]['luckyNumber']", "9"); assertEquals("9", foo.listOfMaps.get(0).get("luckyNumber")); }