List of usage examples for org.springframework.web.multipart.support StringMultipartFileEditor StringMultipartFileEditor
public StringMultipartFileEditor()
From source file:edu.duke.cabig.c3pr.web.study.StudyController.java
@Override protected void initBinder(HttpServletRequest request, ServletRequestDataBinder binder) throws Exception { binder.setAutoGrowNestedPaths(Boolean.FALSE); super.initBinder(request, binder); binder.registerCustomEditor(Date.class, ControllerTools.getDateEditor(false)); binder.registerCustomEditor(healthcareSiteDao.domainClass(), new CustomDaoEditor(healthcareSiteDao)); binder.registerCustomEditor(healthcareSiteInvestigatorDao.domainClass(), new NullIdDaoBasedEditor(healthcareSiteInvestigatorDao)); binder.registerCustomEditor(personUserDao.domainClass(), new NullIdDaoBasedEditor(personUserDao)); binder.registerCustomEditor(studyDao.domainClass(), new CustomDaoEditor(studyDao)); binder.registerCustomEditor(Integer.class, new CustomNumberEditor(Integer.class, true)); binder.registerCustomEditor(String.class, "file", new StringMultipartFileEditor()); binder.registerCustomEditor(byte[].class, "study.criteriaFile", new ByteArrayMultipartFileEditor()); binder.registerCustomEditor(StudyPart.class, new EnumByNameEditor(StudyPart.class)); binder.registerCustomEditor(ConsentRequired.class, new EnumByNameEditor(ConsentRequired.class)); binder.registerCustomEditor(OrganizationIdentifierTypeEnum.class, new EnumByNameEditor(OrganizationIdentifierTypeEnum.class)); binder.registerCustomEditor(RandomizationType.class, new EnumByNameEditor(RandomizationType.class)); binder.registerCustomEditor(CoordinatingCenterStudyStatus.class, new EnumByNameEditor(CoordinatingCenterStudyStatus.class)); binder.registerCustomEditor(InvestigatorStatusCodeEnum.class, new EnumByNameEditor(InvestigatorStatusCodeEnum.class)); binder.registerCustomEditor(SiteStudyStatus.class, new EnumByNameEditor(SiteStudyStatus.class)); binder.registerCustomEditor(EpochType.class, new EnumByNameEditor(EpochType.class)); binder.registerCustomEditor(ConsentingMethod.class, new EnumByNameEditor(ConsentingMethod.class)); binder.registerCustomEditor(StudySponsorType.class, new EnumByNameEditor(StudySponsorType.class)); binder.registerCustomEditor(StudyCategory.class, new EnumByNameEditor(StudyCategory.class)); binder.registerCustomEditor(NCIRecognizedProgramName.class, new EnumByNameEditor(NCIRecognizedProgramName.class)); }
From source file:org.codehaus.groovy.grails.web.binding.GrailsDataBinder.java
/** * Utility method for creating a GrailsDataBinder instance * * @param target The target object to bind to * @param objectName The name of the object * @return A GrailsDataBinder instance/*from ww w. jav a 2 s . co m*/ */ public static GrailsDataBinder createBinder(Object target, String objectName) { GrailsDataBinder binder = new GrailsDataBinder(target, objectName); binder.registerCustomEditor(byte[].class, new ByteArrayMultipartFileEditor()); binder.registerCustomEditor(String.class, new StringMultipartFileEditor()); binder.registerCustomEditor(Currency.class, new CurrencyEditor()); binder.registerCustomEditor(Locale.class, new LocaleEditor()); binder.registerCustomEditor(TimeZone.class, new TimeZoneEditor()); binder.registerCustomEditor(URI.class, new UriEditor()); // GenericConversionService conversionService = new GenericConversionService(); // conversionService.addConverter(new GenericConverter() { // // @Override // public Set<ConvertiblePair> getConvertibleTypes() { // return Collections.singleton(new ConvertiblePair(Map.class, Object.class)); // } // // @Override // public Object convert(Object source, TypeDescriptor sourceType, TypeDescriptor targetType) { // Object obj = BeanUtils.instantiate(targetType.getObjectType()); // createBinder(obj, obj.getClass().getName()).bind(new MutablePropertyValues((Map<?, ?>) source)); // return obj; // } // }); // binder.setConversionService(conversionService); final GrailsWebRequest webRequest = GrailsWebRequest.lookup(); if (webRequest == null) { registerCustomEditors(null, binder); } else { initializeFromWebRequest(binder, webRequest); Locale locale = RequestContextUtils.getLocale(webRequest.getCurrentRequest()); registerCustomEditors(webRequest, binder, locale); } return binder; }
From source file:org.springframework.web.multipart.commons.CommonsMultipartResolverTests.java
private void doTestBinding(MockCommonsMultipartResolver resolver, MockHttpServletRequest originalRequest, MultipartHttpServletRequest request) throws UnsupportedEncodingException { MultipartTestBean1 mtb1 = new MultipartTestBean1(); assertArrayEquals(null, mtb1.getField1()); assertEquals(null, mtb1.getField2()); ServletRequestDataBinder binder = new ServletRequestDataBinder(mtb1, "mybean"); binder.registerCustomEditor(byte[].class, new ByteArrayMultipartFileEditor()); binder.bind(request);/*w w w . j a v a 2 s . c om*/ List<MultipartFile> file1List = request.getFiles("field1"); CommonsMultipartFile file1a = (CommonsMultipartFile) file1List.get(0); CommonsMultipartFile file1b = (CommonsMultipartFile) file1List.get(1); CommonsMultipartFile file2 = (CommonsMultipartFile) request.getFile("field2"); assertEquals(file1a, mtb1.getField1()[0]); assertEquals(file1b, mtb1.getField1()[1]); assertEquals(new String(file2.getBytes()), new String(mtb1.getField2())); MultipartTestBean2 mtb2 = new MultipartTestBean2(); assertArrayEquals(null, mtb2.getField1()); assertEquals(null, mtb2.getField2()); binder = new ServletRequestDataBinder(mtb2, "mybean"); binder.registerCustomEditor(String.class, "field1", new StringMultipartFileEditor()); binder.registerCustomEditor(String.class, "field2", new StringMultipartFileEditor("UTF-16")); binder.bind(request); assertEquals(new String(file1a.getBytes()), mtb2.getField1()[0]); assertEquals(new String(file1b.getBytes()), mtb2.getField1()[1]); assertEquals(new String(file2.getBytes(), "UTF-16"), mtb2.getField2()); resolver.cleanupMultipart(request); assertTrue(((MockFileItem) file1a.getFileItem()).deleted); assertTrue(((MockFileItem) file1b.getFileItem()).deleted); assertTrue(((MockFileItem) file2.getFileItem()).deleted); resolver.setEmpty(true); request = resolver.resolveMultipart(originalRequest); binder.setBindEmptyMultipartFiles(false); String firstBound = mtb2.getField2(); binder.bind(request); assertFalse(mtb2.getField2().isEmpty()); assertEquals(firstBound, mtb2.getField2()); request = resolver.resolveMultipart(originalRequest); binder.setBindEmptyMultipartFiles(true); binder.bind(request); assertTrue(mtb2.getField2().isEmpty()); }