ValueExpression ve = factory.createValueExpression(context, "${bean.valueA}", String.class);
Exception e = null; try {
ve.getValue(context);
} catch (PropertyNotFoundException pnfe) {
e = pnfe;
}
assertThat("Wrong exception type", e, instanceOf(PropertyNotFoundException.class));
String type = Bean.class.getName();
@SuppressWarnings("null") // Not possible due to test above
String msg = e.getMessage(); Assert.assertTrue("No reference to type [" + type + "] where property cannot be found in [" + msg + "]",
msg.contains(type));
}
/** *TeststhatanullcontextresultsinanNPEasperELJavadoc.
*/
@Test(expected = NullPointerException.class) publicvoid testGetType01() {
BeanELResolver resolver = new BeanELResolver();
resolver.getType(null, new Object(), new Object());
}
/** *Teststhatacallto<init>asamethodnamewillthrowanexception.
*/
@Test(expected = MethodNotFoundException.class) publicvoid testInvoke05() {
BeanELResolver resolver = new BeanELResolver();
ELContext context = new StandardELContext(ELManager.getExpressionFactory());
resolver.invoke(context, new TesterBean(BEAN_NAME), METHOD02_NAME, newClass<?>[] {}, newObject[] {});
}
/** *Teststhatacalltoanonexistingmethodwillthrowanexception.
*/
@Test(expected = MethodNotFoundException.class) publicvoid testInvoke06() {
BeanELResolver resolver = new BeanELResolver();
ELContext context = new StandardELContext(ELManager.getExpressionFactory());
resolver.invoke(context, new TesterBean(BEAN_NAME), METHOD03_NAME, newClass<?>[] {}, newObject[] {});
}
@Test publicvoid testInvokeVarargsCoerce01() {
BeanELResolver resolver = new BeanELResolver();
ELContext context = new StandardELContext(ELManager.getExpressionFactory());
Object result = resolver.invoke(context, new TesterBean(BEAN_NAME), "getNameVarargs", newClass<?>[] {}, new String[] {});
Assert.assertEquals(BEAN_NAME, result);
}
@Test publicvoid testInvokeVarargsCoerce02() {
BeanELResolver resolver = new BeanELResolver();
ELContext context = new StandardELContext(ELManager.getExpressionFactory());
Object result = resolver.invoke(context, new TesterBean(BEAN_NAME), "getNameVarargs", null, null);
Assert.assertEquals(BEAN_NAME, result);
}
@Test publicvoid testInvokeVarargsCoerce03() {
BeanELResolver resolver = new BeanELResolver();
ELContext context = new StandardELContext(ELManager.getExpressionFactory());
Object result = resolver.invoke(context, new TesterBean(BEAN_NAME), "getNameVarargs", null, new String[] {});
Assert.assertEquals(BEAN_NAME, result);
}
@Test publicvoid testInvokeVarargsCoerce04() {
BeanELResolver resolver = new BeanELResolver();
ELContext context = new StandardELContext(ELManager.getExpressionFactory());
Object result = resolver.invoke(context, new TesterBean(BEAN_NAME), "getNameVarargs", newClass<?>[] {}, null);
Assert.assertEquals(BEAN_NAME, result);
}
@Test publicvoid testInvokeVarargsCoerce05() {
BeanELResolver resolver = new BeanELResolver();
ELContext context = new StandardELContext(ELManager.getExpressionFactory());
Object result = resolver.invoke(context, new TesterBean(BEAN_NAME), "getNameVarargs", newClass<?>[] { null }, new String[] { null });
Assert.assertEquals(BEAN_NAME, result);
}
@Test publicvoid testInvokeVarargsCoerce06() {
BeanELResolver resolver = new BeanELResolver();
ELContext context = new StandardELContext(ELManager.getExpressionFactory());
Object result = resolver.invoke(context, new TesterBean(BEAN_NAME), "getNameVarargs", null, new String[] { null });
Assert.assertEquals(BEAN_NAME, result);
}
@Test publicvoid testInvokeVarargsCoerce07() {
BeanELResolver resolver = new BeanELResolver();
ELContext context = new StandardELContext(ELManager.getExpressionFactory());
Object result = resolver.invoke(context, new TesterBean(BEAN_NAME), "getNameVarargs", newClass<?>[] { null }, null);
Assert.assertEquals(BEAN_NAME, result);
}
@Test publicvoid testInvokeVarargsCoerce08() {
BeanELResolver resolver = new BeanELResolver();
ELContext context = new StandardELContext(ELManager.getExpressionFactory());
Object result = resolver.invoke(context, new TesterBean(BEAN_NAME), "getNameVarargs", newClass<?>[] { String.class }, new String[] { "true" });
Assert.assertEquals(BEAN_NAME, result);
}
@Test publicvoid testInvokeVarargsCoerce09() {
BeanELResolver resolver = new BeanELResolver();
ELContext context = new StandardELContext(ELManager.getExpressionFactory());
Object result = resolver.invoke(context, new TesterBean(BEAN_NAME), "getNameVarargs", newClass<?>[] { String.class, String.class }, new Object[] { "true", null });
Assert.assertEquals(BEAN_NAME, result);
}
@Test publicvoid testInvokeVarargsCoerce10() {
BeanELResolver resolver = new BeanELResolver();
ELContext context = new StandardELContext(ELManager.getExpressionFactory());
Object result = resolver.invoke(context, new TesterBean(BEAN_NAME), "getNameVarargs", newClass<?>[] { String.class, String[].class }, new Object[] { "true", null });
Assert.assertEquals(BEAN_NAME, result);
}
@Test publicvoid testInvokeVarargsCoerce11() {
BeanELResolver resolver = new BeanELResolver();
ELContext context = new StandardELContext(ELManager.getExpressionFactory());
Object result = resolver.invoke(context, new TesterBean(BEAN_NAME), "getNameVarargs", newClass<?>[] { String.class }, new Object[] { "10" });
Assert.assertEquals(BEAN_NAME, result);
}
@Test publicvoid testInvokeVarargsCoerce12() {
BeanELResolver resolver = new BeanELResolver();
ELContext context = new StandardELContext(ELManager.getExpressionFactory());
Object result = resolver.invoke(context, new TesterBean(BEAN_NAME), "getNameVarargs", newClass<?>[] { String[].class }, new String[] { "10" });
Assert.assertEquals(BEAN_NAME, result);
}
@Test publicvoid testInvokeVarargsCoerce13() {
BeanELResolver resolver = new BeanELResolver();
ELContext context = new StandardELContext(ELManager.getExpressionFactory());
Object result = resolver.invoke(context, new TesterBean(BEAN_NAME), "getNameVarargs", newClass<?>[] { String.class, String.class }, new String[] { "10", "11" });
Assert.assertEquals(BEAN_NAME, result);
}
@Test publicvoid testInvokeVarargsCoerce14() {
BeanELResolver resolver = new BeanELResolver();
ELContext context = new StandardELContext(ELManager.getExpressionFactory());
Object result = resolver.invoke(context, new TesterBean(BEAN_NAME), "getNameVarargs", newClass<?>[] { String.class, String.class }, new String[] { "true", null });
Assert.assertEquals(BEAN_NAME, result);
}
@Test(expected = MethodNotFoundException.class) publicvoid testInvokeVarargsCoerce15() {
BeanELResolver resolver = new BeanELResolver();
ELContext context = new StandardELContext(ELManager.getExpressionFactory());
Object result = resolver.invoke(context, new TesterBean(BEAN_NAME), "getNameVarargs", newClass<?>[] { String.class, String.class }, new Object[] { "true", new ArrayList<>() });
Assert.assertEquals(BEAN_NAME, result);
}
@Test publicvoid testInvokeVarargsCoerce16() {
BeanELResolver resolver = new BeanELResolver();
ELContext context = new StandardELContext(ELManager.getExpressionFactory());
Object result = resolver.invoke(context, new TesterBean(BEAN_NAME), "getNameVarargs", newClass<?>[] { String.class, String.class, String.class }, new Object[] { "10", "11", "12" });
Assert.assertEquals(BEAN_NAME, result);
}
@Test(expected = MethodNotFoundException.class) publicvoid testInvokeVarargsCoerce17() {
BeanELResolver resolver = new BeanELResolver();
ELContext context = new StandardELContext(ELManager.getExpressionFactory());
Object result = resolver.invoke(context, new TesterBean(BEAN_NAME), "getNameVarargs", newClass<?>[] { String.class, String.class }, new Object[] { "10", "11", "12" });
Assert.assertEquals(BEAN_NAME, result);
}
@Test(expected = MethodNotFoundException.class) publicvoid testInvokeVarargsCoerce18() {
BeanELResolver resolver = new BeanELResolver();
ELContext context = new StandardELContext(ELManager.getExpressionFactory());
Object result = resolver.invoke(context, new TesterBean(BEAN_NAME), "getNameVarargs", newClass<?>[] { String.class, String.class, String.class, String.class }, new Object[] { "10", "11", "12" });
Assert.assertEquals(BEAN_NAME, result);
}
@Test publicvoid testInvokeVarargsCoerce19() {
BeanELResolver resolver = new BeanELResolver();
ELContext context = new StandardELContext(ELManager.getExpressionFactory());
Object result = resolver.invoke(context, new TesterBean(BEAN_NAME), "getNameVarargs", newClass<?>[] { String.class, String.class, String.class, String.class }, new Object[] { "true", "10", "11", "12" });
Assert.assertEquals(BEAN_NAME, result);
}
@Test(expected = MethodNotFoundException.class) publicvoid testInvokeVarargsCoerce20() {
BeanELResolver resolver = new BeanELResolver();
ELContext context = new StandardELContext(ELManager.getExpressionFactory());
Object result = resolver.invoke(context, new TesterBean(BEAN_NAME), "getNameVarargs", newClass<?>[] { String.class, String.class, String.class }, new Object[] { "true", "10", "11", "12" });
Assert.assertEquals(BEAN_NAME, result);
}
@Test(expected = MethodNotFoundException.class) publicvoid testInvokeVarargsCoerce21() {
BeanELResolver resolver = new BeanELResolver();
ELContext context = new StandardELContext(ELManager.getExpressionFactory());
Object result = resolver.invoke(context, new TesterBean(BEAN_NAME), "getNameVarargs", newClass<?>[] { String.class, String.class, String.class, String.class, String.class }, new Object[] { "true", "10", "11", "12" });
Assert.assertEquals(BEAN_NAME, result);
}
@Test publicvoid testInvokeVarargsCoerce22() {
BeanELResolver resolver = new BeanELResolver();
StandardELContext context = new StandardELContext(ELManager.getExpressionFactory());
context.addELResolver(new StringToLongNeverFailResolver());
Object result = resolver.invoke(context, new TesterBean(BEAN_NAME), "getNameVarargs", newClass<?>[] { String.class, String.class, String.class }, new Object[] { "AA", "BB", "CC" });
Assert.assertEquals(BEAN_NAME, result);
}
@Test(expected = MethodNotFoundException.class) publicvoid testInvokeVarargsCoerce23() {
BeanELResolver resolver = new BeanELResolver();
StandardELContext context = new StandardELContext(ELManager.getExpressionFactory());
Object result = resolver.invoke(context, new TesterBean(BEAN_NAME), "getNameVarargs", newClass<?>[] { String.class, String.class, String.class }, new Object[] { "AA", "BB", "CC" });
Assert.assertEquals(BEAN_NAME, result);
}
@Test publicvoid testInvokeVarargs01() {
BeanELResolver resolver = new BeanELResolver();
ELContext context = new StandardELContext(ELManager.getExpressionFactory());
Object result = resolver.invoke(context, new TesterBean(BEAN_NAME), "getNameVarargs", newClass<?>[] {}, new Object[] {});
Assert.assertEquals(BEAN_NAME, result);
}
@Test publicvoid testInvokeVarargs02() {
BeanELResolver resolver = new BeanELResolver();
ELContext context = new StandardELContext(ELManager.getExpressionFactory());
Object result = resolver.invoke(context, new TesterBean(BEAN_NAME), "getNameVarargs", null, null);
Assert.assertEquals(BEAN_NAME, result);
}
@Test publicvoid testInvokeVarargs03() {
BeanELResolver resolver = new BeanELResolver();
ELContext context = new StandardELContext(ELManager.getExpressionFactory());
Object result = resolver.invoke(context, new TesterBean(BEAN_NAME), "getNameVarargs", null, new Object[] {});
Assert.assertEquals(BEAN_NAME, result);
}
@Test publicvoid testInvokeVarargs04() {
BeanELResolver resolver = new BeanELResolver();
ELContext context = new StandardELContext(ELManager.getExpressionFactory());
Object result = resolver.invoke(context, new TesterBean(BEAN_NAME), "getNameVarargs", newClass<?>[] {}, null);
Assert.assertEquals(BEAN_NAME, result);
}
@Test publicvoid testInvokeVarargs05() {
BeanELResolver resolver = new BeanELResolver();
ELContext context = new StandardELContext(ELManager.getExpressionFactory());
Object result = resolver.invoke(context, new TesterBean(BEAN_NAME), "getNameVarargs", newClass<?>[] { null }, new Object[] { null });
Assert.assertEquals(BEAN_NAME, result);
}
@Test publicvoid testInvokeVarargs06() {
BeanELResolver resolver = new BeanELResolver();
ELContext context = new StandardELContext(ELManager.getExpressionFactory());
Object result = resolver.invoke(context, new TesterBean(BEAN_NAME), "getNameVarargs", null, new Object[] { null });
Assert.assertEquals(BEAN_NAME, result);
}
@Test publicvoid testInvokeVarargs07() {
BeanELResolver resolver = new BeanELResolver();
ELContext context = new StandardELContext(ELManager.getExpressionFactory());
Object result = resolver.invoke(context, new TesterBean(BEAN_NAME), "getNameVarargs", newClass<?>[] { null }, null);
Assert.assertEquals(BEAN_NAME, result);
}
@Test publicvoid testInvokeVarargs08() {
BeanELResolver resolver = new BeanELResolver();
ELContext context = new StandardELContext(ELManager.getExpressionFactory());
Object result = resolver.invoke(context, new TesterBean(BEAN_NAME), "getNameVarargs", newClass<?>[] { Boolean.class }, new Object[] { Boolean.TRUE });
Assert.assertEquals(BEAN_NAME, result);
}
@Test publicvoid testInvokeVarargs09() {
BeanELResolver resolver = new BeanELResolver();
ELContext context = new StandardELContext(ELManager.getExpressionFactory());
Object result = resolver.invoke(context, new TesterBean(BEAN_NAME), "getNameVarargs", newClass<?>[] { Boolean.class, Integer.class }, new Object[] { Boolean.TRUE, null });
Assert.assertEquals(BEAN_NAME, result);
}
@Test publicvoid testInvokeVarargs10() {
BeanELResolver resolver = new BeanELResolver();
ELContext context = new StandardELContext(ELManager.getExpressionFactory());
Object result = resolver.invoke(context, new TesterBean(BEAN_NAME), "getNameVarargs", newClass<?>[] { Boolean.class, Integer[].class }, new Object[] { Boolean.TRUE, null });
Assert.assertEquals(BEAN_NAME, result);
}
@Test publicvoid testInvokeVarargs11() {
BeanELResolver resolver = new BeanELResolver();
ELContext context = new StandardELContext(ELManager.getExpressionFactory());
Object result = resolver.invoke(context, new TesterBean(BEAN_NAME), "getNameVarargs", newClass<?>[] { Integer.class }, new Object[] { Integer.valueOf(10) });
Assert.assertEquals(BEAN_NAME, result);
}
@Test publicvoid testInvokeVarargs12() {
BeanELResolver resolver = new BeanELResolver();
ELContext context = new StandardELContext(ELManager.getExpressionFactory());
Object result = resolver.invoke(context, new TesterBean(BEAN_NAME), "getNameVarargs", newClass<?>[] { Integer[].class }, new Object[] { Integer.valueOf(10) });
Assert.assertEquals(BEAN_NAME, result);
}
@Test publicvoid testInvokeVarargs13() {
BeanELResolver resolver = new BeanELResolver();
ELContext context = new StandardELContext(ELManager.getExpressionFactory());
Object result = resolver.invoke(context, new TesterBean(BEAN_NAME), "getNameVarargs", newClass<?>[] { Integer.class, Integer.class }, new Object[] { Integer.valueOf(10), Integer.valueOf(11) });
Assert.assertEquals(BEAN_NAME, result);
}
// Note: The coercion rules are that a null of any type can be coerced to a // null of *any* other type so this works.
@Test publicvoid testInvokeVarargs14() {
BeanELResolver resolver = new BeanELResolver();
ELContext context = new StandardELContext(ELManager.getExpressionFactory());
Object result = resolver.invoke(context, new TesterBean(BEAN_NAME), "getNameVarargs", newClass<?>[] { Boolean.class, ArrayList.class }, new Object[] { Boolean.TRUE, null });
Assert.assertEquals(BEAN_NAME, result);
}
@Test(expected = MethodNotFoundException.class) publicvoid testInvokeVarargs15() {
BeanELResolver resolver = new BeanELResolver();
ELContext context = new StandardELContext(ELManager.getExpressionFactory());
Object result = resolver.invoke(context, new TesterBean(BEAN_NAME), "getNameVarargs", newClass<?>[] { Boolean.class, ArrayList.class }, new Object[] { Boolean.TRUE, new ArrayList<>() });
Assert.assertEquals(BEAN_NAME, result);
}
@Test publicvoid testInvokeVarargs16() {
BeanELResolver resolver = new BeanELResolver();
ELContext context = new StandardELContext(ELManager.getExpressionFactory());
Object result = resolver.invoke(context, new TesterBean(BEAN_NAME), "getNameVarargs", newClass<?>[] { Integer.class, Integer.class, Integer.class }, new Object[] { Integer.valueOf(10), Integer.valueOf(11), Integer.valueOf(12) });
Assert.assertEquals(BEAN_NAME, result);
}
@Test(expected = MethodNotFoundException.class) publicvoid testInvokeVarargs17() {
BeanELResolver resolver = new BeanELResolver();
ELContext context = new StandardELContext(ELManager.getExpressionFactory());
Object result = resolver.invoke(context, new TesterBean(BEAN_NAME), "getNameVarargs", newClass<?>[] { Integer.class, Integer.class }, new Object[] { Integer.valueOf(10), Integer.valueOf(11), Integer.valueOf(12) });
Assert.assertEquals(BEAN_NAME, result);
}
@Test(expected = MethodNotFoundException.class) publicvoid testInvokeVarargs18() {
BeanELResolver resolver = new BeanELResolver();
ELContext context = new StandardELContext(ELManager.getExpressionFactory());
Object result = resolver.invoke(context, new TesterBean(BEAN_NAME), "getNameVarargs", newClass<?>[] { Integer.class, Integer.class, Integer.class, Integer.class }, new Object[] { Integer.valueOf(10), Integer.valueOf(11), Integer.valueOf(12) });
Assert.assertEquals(BEAN_NAME, result);
}
@Test publicvoid testInvokeVarargs19() {
BeanELResolver resolver = new BeanELResolver();
ELContext context = new StandardELContext(ELManager.getExpressionFactory());
Object result = resolver.invoke(context, new TesterBean(BEAN_NAME), "getNameVarargs", newClass<?>[] { Boolean.class, Integer.class, Integer.class, Integer.class }, new Object[] { Boolean.TRUE, Integer.valueOf(10), Integer.valueOf(11), Integer.valueOf(12) });
Assert.assertEquals(BEAN_NAME, result);
}
@Test(expected = MethodNotFoundException.class) publicvoid testInvokeVarargs20() {
BeanELResolver resolver = new BeanELResolver();
ELContext context = new StandardELContext(ELManager.getExpressionFactory());
Object result = resolver.invoke(context, new TesterBean(BEAN_NAME), "getNameVarargs", newClass<?>[] { Boolean.class, Integer.class, Integer.class }, new Object[] { Boolean.TRUE, Integer.valueOf(10), Integer.valueOf(11), Integer.valueOf(12) });
Assert.assertEquals(BEAN_NAME, result);
}
@Test(expected = MethodNotFoundException.class) publicvoid testInvokeVarargs21() {
BeanELResolver resolver = new BeanELResolver();
ELContext context = new StandardELContext(ELManager.getExpressionFactory());
Object result = resolver.invoke(context, new TesterBean(BEAN_NAME), "getNameVarargs", newClass<?>[] { Boolean.class, Integer.class, Integer.class, Integer.class, Integer.class }, new Object[] { Boolean.TRUE, Integer.valueOf(10), Integer.valueOf(11), Integer.valueOf(12) });
Assert.assertEquals(BEAN_NAME, result);
}
/** *Teststhatavalidpropertyimplementedbyadefaultmethodisresolved.
*/
@Test publicvoid testGetDefaultValue() {
BeanELResolver resolver = new BeanELResolver();
ELContext context = new StandardELContext(ELManager.getExpressionFactory());
Object result = resolver.getValue(context, new Bean(), PROPERTY04_NAME);
privatevoid doNegativeTest(Object base, Object trigger, MethodUnderTest method, booleancheckResult) {
BeanELResolver resolver = new BeanELResolver();
ELContext context = new StandardELContext(ELManager.getExpressionFactory());
Object result = null; switch (method) { case GET_VALUE: {
result = resolver.getValue(context, base, trigger); break;
} case SET_VALUE: {
resolver.setValue(context, base, trigger, new Object()); break;
} case GET_TYPE: {
result = resolver.getType(context, base, trigger); break;
} case INVOKE: {
result = resolver.invoke(context, base, trigger, newClass<?>[0], new Object[0]); break;
} default: { // Should never happen Assert.fail("Missing case for method");
}
}
if (checkResult) { Assert.assertNull(result);
} Assert.assertFalse(context.isPropertyResolved());
}
@Override public <T> T convertToType(ELContext context, Object obj, Class<T> type) { if (Integer.class.equals(type) && obj instanceof String) {
context.setPropertyResolved(true);
Integer result; try {
result = Integer.valueOf((String) obj);
} catch (NumberFormatException e) {
result = Integer.valueOf(0);
}
@SuppressWarnings("unchecked")
T t = (T) result; return t;
} returnsuper.convertToType(context, obj, type);
}
}
}
Messung V0.5 in Prozent
¤ Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.0.22Bemerkung:
(vorverarbeitet am 2026-09-30)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.