private String evaluateExpression(String expression) { if(beanExpressionResolver != null) { return (String) beanExpressionResolver.evaluate(expression, beanExpressionContext); } return expression; } }
@Override @Nullable public String resolveStringValue(String strVal) { String value = this.exprContext.getBeanFactory().resolveEmbeddedValue(strVal); if (this.exprResolver != null && value != null) { Object evaluated = this.exprResolver.evaluate(value, this.exprContext); value = (evaluated != null ? evaluated.toString() : null); } return value; }
/** * Resolve the given annotation-specified value, * potentially containing placeholders and expressions. */ @Nullable private Object resolveStringValue(String value) { if (this.configurableBeanFactory == null || this.expressionContext == null) { return value; } String placeholdersResolved = this.configurableBeanFactory.resolveEmbeddedValue(value); BeanExpressionResolver exprResolver = this.configurableBeanFactory.getBeanExpressionResolver(); if (exprResolver == null) { return value; } return exprResolver.evaluate(placeholdersResolved, this.expressionContext); }
/** * Resolve the given annotation-specified value, * potentially containing placeholders and expressions. */ @Nullable private Object resolveStringValue(String value) { if (this.configurableBeanFactory == null) { return value; } String placeholdersResolved = this.configurableBeanFactory.resolveEmbeddedValue(value); BeanExpressionResolver exprResolver = this.configurableBeanFactory.getBeanExpressionResolver(); if (exprResolver == null || this.expressionContext == null) { return value; } return exprResolver.evaluate(placeholdersResolved, this.expressionContext); }
/** * Resolve the given annotation-specified value, * potentially containing placeholders and expressions. */ private Object resolveStringValue(String value) { if (this.configurableBeanFactory == null) { return value; } String placeholdersResolved = this.configurableBeanFactory.resolveEmbeddedValue(value); BeanExpressionResolver exprResolver = this.configurableBeanFactory.getBeanExpressionResolver(); if (exprResolver == null) { return value; } return exprResolver.evaluate(placeholdersResolved, this.expressionContext); }
/** * Evaluate the given String as contained in a bean definition, * potentially resolving it as an expression. * @param value the value to check * @param beanDefinition the bean definition that the value comes from * @return the resolved value * @see #setBeanExpressionResolver */ @Nullable protected Object evaluateBeanDefinitionString(@Nullable String value, @Nullable BeanDefinition beanDefinition) { if (this.beanExpressionResolver == null) { return value; } Scope scope = null; if (beanDefinition != null) { String scopeName = beanDefinition.getScope(); if (scopeName != null) { scope = getRegisteredScope(scopeName); } } return this.beanExpressionResolver.evaluate(value, new BeanExpressionContext(this, scope)); }
@Override @Nullable public String resolveStringValue(String strVal) { String value = this.exprContext.getBeanFactory().resolveEmbeddedValue(strVal); if (this.exprResolver != null && value != null) { Object evaluated = this.exprResolver.evaluate(value, this.exprContext); value = (evaluated != null ? evaluated.toString() : null); } return value; }
BeanExpressionContext beanExpressionContext = new BeanExpressionContext(configurableBeanFactory, null); Object result = expressionResolver.evaluate( configurableBeanFactory.resolveEmbeddedValue(expression), beanExpressionContext);
/** * Resolve the given annotation-specified value, * potentially containing placeholders and expressions. */ @Nullable private Object resolveStringValue(String value) { if (this.configurableBeanFactory == null) { return value; } String placeholdersResolved = this.configurableBeanFactory.resolveEmbeddedValue(value); BeanExpressionResolver exprResolver = this.configurableBeanFactory.getBeanExpressionResolver(); if (exprResolver == null || this.expressionContext == null) { return value; } return exprResolver.evaluate(placeholdersResolved, this.expressionContext); }
/** * Evaluate the given String as contained in a bean definition, * potentially resolving it as an expression. * @param value the value to check * @param beanDefinition the bean definition that the value comes from * @return the resolved value * @see #setBeanExpressionResolver */ @Nullable protected Object evaluateBeanDefinitionString(@Nullable String value, @Nullable BeanDefinition beanDefinition) { if (this.beanExpressionResolver == null) { return value; } Scope scope = null; if (beanDefinition != null) { String scopeName = beanDefinition.getScope(); if (scopeName != null) { scope = getRegisteredScope(scopeName); } } return this.beanExpressionResolver.evaluate(value, new BeanExpressionContext(this, scope)); }
private Object evaluateBeanDefinitionString(ConfigurableBeanFactory beanFactory, String value, BeanDefinition beanDefinition) { if (beanFactory.getBeanExpressionResolver() == null) { return value; } Scope scope = (beanDefinition != null ? beanFactory .getRegisteredScope(beanDefinition.getScope()) : null); return beanFactory.getBeanExpressionResolver() .evaluate(value, new BeanExpressionContext(beanFactory, scope)); }
@Test public void testExpressionInStringArray() { DefaultListableBeanFactory bf = new DefaultListableBeanFactory(); BeanExpressionResolver beanExpressionResolver = mock(BeanExpressionResolver.class); when(beanExpressionResolver.evaluate(eq("#{foo}"), ArgumentMatchers.any(BeanExpressionContext.class))) .thenReturn("classpath:/org/springframework/beans/factory/xml/util.properties"); bf.setBeanExpressionResolver(beanExpressionResolver); RootBeanDefinition rbd = new RootBeanDefinition(PropertiesFactoryBean.class); MutablePropertyValues pvs = new MutablePropertyValues(); pvs.add("locations", new String[]{"#{foo}"}); rbd.setPropertyValues(pvs); bf.registerBeanDefinition("myProperties", rbd); Properties properties = (Properties) bf.getBean("myProperties"); assertEquals("bar", properties.getProperty("foo")); }
private String resolve(String value) { if (this.resolver != null) { Object newValue = this.resolver.evaluate(value, this.beanExpressionContext); Assert.isInstanceOf(String.class, newValue, "Invalid @SendTo expression"); return (String) newValue; } else { return value; } }
private String resolveExpression(String value, String msg) { String resolvedValue = resolve(value); if (!(resolvedValue.startsWith("#{") && value.endsWith("}"))) { return resolvedValue; } Object evaluated = this.resolver.evaluate(resolvedValue, this.expressionContext); Assert.isInstanceOf(String.class, evaluated, msg); return (String) evaluated; }
private Object resolveExpression(String value) { return this.resolver.evaluate(resolve(value), this.expressionContext); }
private String resolve(String value) { if (getResolver() != null) { Object newValue = getResolver().evaluate(value, getBeanExpressionContext()); Assert.isInstanceOf(String.class, newValue, "Invalid @SendTo expression"); return (String) newValue; } else { return value; } }
/** * Resolve the given annotation-specified value, * potentially containing placeholders and expressions. */ private Object resolveStringValue(String value) { if (this.configurableBeanFactory == null) { return value; } String placeholdersResolved = this.configurableBeanFactory.resolveEmbeddedValue(value); BeanExpressionResolver exprResolver = this.configurableBeanFactory.getBeanExpressionResolver(); if (exprResolver == null) { return value; } return exprResolver.evaluate(placeholdersResolved, this.expressionContext); }
/** * Evaluate the given String as contained in a bean definition, * potentially resolving it as an expression. * @param value the value to check * @param beanDefinition the bean definition that the value comes from * @return the resolved value * @see #setBeanExpressionResolver */ protected Object evaluateBeanDefinitionString(String value, BeanDefinition beanDefinition) { if (this.beanExpressionResolver == null) { return value; } Scope scope = (beanDefinition != null ? getRegisteredScope(beanDefinition.getScope()) : null); return this.beanExpressionResolver.evaluate(value, new BeanExpressionContext(this, scope)); }
private void setupServer(IntegrationMBeanExporter exporter) { String server = this.attributes.getString("server"); if (server != null && this.environment != null) { server = this.environment.resolvePlaceholders(server); } if (StringUtils.hasText(server)) { MBeanServer bean = null; if (server.startsWith("#{") && server.endsWith("}")) { bean = (MBeanServer) this.resolver.evaluate(server, this.expressionContext); } else { bean = this.beanFactory.getBean(server, MBeanServer.class); } exporter.setServer(bean); } else { SpecificPlatform specificPlatform = SpecificPlatform.get(); if (specificPlatform != null) { exporter.setServer(specificPlatform.getMBeanServer()); } } }
private String evaluateExpression(String expression) { if(beanExpressionResolver != null) { return (String) beanExpressionResolver.evaluate(expression, beanExpressionContext); } return expression; } }