/** * Factory method that creates the conversion service the flow builder will use. Subclasses may override. The * default implementation registers Web Flow-specific converters thought to be useful for most builder * implementations, setting the externally-provided builder services conversion service as its parent. * @return the flow builder conversion service */ protected ConversionService createConversionService() { GenericConversionService service = new GenericConversionService( getFlowBuilderServices().getConversionService().getDelegateConversionService()); service.addConverter(new TextToTransitionCriteria(this)); service.addConverter(new TextToTargetStateResolver(this)); service.setParent(new ParentConversionServiceProxy()); return service; }
public void afterPropertiesSet() throws Exception { Assert.notNull(flowDefinitionLocator, "The flow definition locator property is required"); if (conversionService == null) { conversionService = new DefaultConversionService(); } MutableAttributeMap<Object> executionAttributes = createFlowExecutionAttributes(); FlowExecutionImplFactory executionFactory = createFlowExecutionFactory(executionAttributes); DefaultFlowExecutionRepository executionRepository = createFlowExecutionRepository(executionFactory); executionFactory.setExecutionKeyFactory(executionRepository); flowExecutor = new FlowExecutorImpl(flowDefinitionLocator, executionFactory, executionRepository); }
/** * Creates a new default conversion service, installing the default converters. */ public DefaultConversionService() { addDefaultConverters(); addDefaultAliases(); }
public void testRegisterCustomConverterArrayToListBogus() { DefaultConversionService service = new DefaultConversionService(); service.addConverter("princy", new CustomTwoWayConverter()); try { service.getConversionExecutor("princy", Integer[].class, List.class); fail("Should have failed"); } catch (ConversionExecutorNotFoundException e) { } }
public void testRegisterCustomConverterForSameTypeNotCompatibleSource() { DefaultConversionService service = new DefaultConversionService(); service.addConverter("trimmer", new Trimmer()); try { service.getConversionExecutor("trimmer", Object.class, String.class); } catch (ConversionException e) { } }
public void testTargetClassNotSupported() { DefaultConversionService service = new DefaultConversionService(); try { service.getConversionExecutor(String.class, HashMap.class); fail("Should have thrown an exception"); } catch (ConversionExecutorNotFoundException e) { } }
private void parseAndSetMappingConversionExecutor(AbstractMappingModel mappingModel, DefaultMapping mapping) { if (StringUtils.hasText(mappingModel.getType())) { Class<?> type = toClass(mappingModel.getType()); ConversionExecutor typeConverter = new RuntimeBindingConversionExecutor(type, getLocalContext() .getConversionService()); mapping.setTypeConverter(typeConverter); } }
public void testRegisterCustomConverterArrayToArrayBogus() { DefaultConversionService service = new DefaultConversionService(); service.addConverter("princy", new CustomTwoWayConverter()); try { service.getConversionExecutor("princy", Integer[].class, Principal[].class); fail("Should have failed"); } catch (ConversionExecutorNotFoundException e) { } }
public void testRegisterCustomConverterForSameTypeNotCompatibleTarget() { DefaultConversionService service = new DefaultConversionService(); service.addConverter("trimmer", new Trimmer()); try { service.getConversionExecutor("trimmer", String.class, Object.class); } catch (ConversionException e) { } }
/** * Creates a new default conversion service with an instance of a Spring ConversionService. * * @param delegateConversionService the Spring conversion service */ public DefaultConversionService(ConversionService delegateConversionService) { super(delegateConversionService); addDefaultConverters(); addDefaultAliases(); }
public static FlowBuilderServices getServices() { FlowBuilderServices services = new FlowBuilderServices() { // The SpEL parser must use the currently configured conversion service. public void setConversionService(ConversionService conversionService) { super.setConversionService(conversionService); setExpressionParser(new WebFlowSpringELExpressionParser(new SpelExpressionParser(), conversionService)); } }; services.setViewFactoryCreator(new MockViewFactoryCreator()); services.setConversionService(new DefaultConversionService()); services.setApplicationContext(createTestApplicationContext()); return services; }
public void testRegisterCustomConverterListToArrayBogus() { DefaultConversionService service = new DefaultConversionService(); service.addConverter("princy", new CustomTwoWayConverter()); try { service.getConversionExecutor("princy", List.class, Integer[].class); fail("Should have failed"); } catch (ConversionExecutorNotFoundException e) { } }
public void testRegisterCustomConverterForSameType() { DefaultConversionService service = new DefaultConversionService(); service.addConverter("trimmer", new Trimmer()); ConversionExecutor executor = service.getConversionExecutor("trimmer", String.class, String.class); assertEquals("a string", executor.execute("a string ")); }
/** * Creates a new default conversion service, installing the default converters. */ public DefaultConversionService() { addDefaultConverters(); addDefaultAliases(); }
/** * Creates a new expression parser that uses a {@link DefaultConversionService} to perform type conversion. */ public BeanWrapperExpressionParser() { this.conversionService = new DefaultConversionService(); }
public void testRegisterCustomConverterObjectToArrayBogus() { DefaultConversionService service = new DefaultConversionService(); service.addConverter("princy", new CustomTwoWayConverter()); try { service.getConversionExecutor("princy", Integer.class, Principal[].class); fail("Should have failed"); } catch (ConversionExecutorNotFoundException e) { } }
public void testRegisterCustomConverterReverseNotCompatibleSource() { DefaultConversionService service = new DefaultConversionService(); service.addConverter("princy", new CustomTwoWayConverter()); try { service.getConversionExecutor("trimmer", Principal.class, Object.class); } catch (ConversionException e) { } }
public void testRegisterCustomConverterObjectToListBogus() { DefaultConversionService service = new DefaultConversionService(); service.addConverter("princy", new CustomTwoWayConverter()); ConversionExecutor executor = service.getConversionExecutor("princy", Integer.class, List.class); try { executor.execute(1); fail("Should have failed"); } catch (ConversionExecutionException e) { } }
public void testRegisterCustomConverterReverseComparsion() { DefaultConversionService service = new DefaultConversionService(); service.addConverter("princy", new CustomTwoWayConverter()); ConversionExecutor executor = service.getConversionExecutor("princy", Principal.class, String.class); assertEquals("name", executor.execute(new Principal() { public String getName() { return "name"; } })); }
public void testRegisterCustomConverterObjectToArrayReverse() { DefaultConversionService service = new DefaultConversionService(); service.addConverter("princy", new CustomTwoWayConverter()); ConversionExecutor executor = service.getConversionExecutor("princy", Principal.class, String[].class); final Principal princy1 = () -> "princy1"; String[] p = (String[]) executor.execute(princy1); assertEquals("princy1", p[0]); }