}
public void testResolver() {
ConstantValuePlaceholderConfigurer c = new ConstantValuePlaceholderConfigurer();
c.setBeanClassLoader(ClassUtils.getDefaultClassLoader());
ConstantStringValueResolver resolver = c.new ConstantStringValueResolver();
assertEquals("stringval", resolver.resolveStringValue("stringval"));
assertEquals("module.class.dir", resolver.resolveStringValue("constant:[" + LocationConstants.class.getName() + ".MODULE_CLASS_DIR_PROPERTY]"));
//check trim handling
assertEquals("module.class.dir", resolver.resolveStringValue(" constant:[ " + LocationConstants.class.getName() + ".MODULE_CLASS_DIR_PROPERTY ] "));
try {
resolver.resolveStringValue("constant:[duffclass]");
fail();
}
catch (ConfigurationException e) {
assertEquals("Invalid expression 'duffclass' in expression 'constant:[duffclass]'. Must evaluate to constant (e.g. 'constant:[org.impalframework.constants.LocationConstant.MODULE_CLASS_DIR_PROPERTY]'", e.getMessage());
}
//value is null
try {
resolver.resolveStringValue("constant:[org.impalaframework.spring.ConstantValuePlaceholderConfigurerTest.EMPTY]");
fail();
}
catch (ConfigurationException e) {
assertEquals("Field 'EMPTY' in class org.impalaframework.spring.ConstantValuePlaceholderConfigurerTest in expression 'constant:[org.impalaframework.spring.ConstantValuePlaceholderConfigurerTest.EMPTY]' cannot evaluate to null", e.getMessage());
}
//field cannot be resolved
try {
resolver.resolveStringValue("constant:[org.impalaframework.spring.ConstantValuePlaceholderConfigurerTest.NOTPRESENT]");
fail();
}
catch (ConfigurationException e) {
assertEquals("Field 'NOTPRESENT' in class org.impalaframework.spring.ConstantValuePlaceholderConfigurerTest in expression 'constant:[org.impalaframework.spring.ConstantValuePlaceholderConfigurerTest.NOTPRESENT]' could not be evaluated. Could not evaluate constant in bean 'null'", e.getMessage());
}
//class cannot be resolved
try {
resolver.resolveStringValue("constant:[org.impalaframework.spring.DuffClass.NOTPRESENT]");
fail();
}
catch (ConfigurationException e) {
assertEquals("Class 'org.impalaframework.spring.DuffClass' in expression 'constant:[org.impalaframework.spring.DuffClass.NOTPRESENT]' could not be found. Could not evaluate constant in bean 'null'", e.getMessage());
}