Tim Wright created OGNL-249:
-------------------------------
Summary: Ognl.GetMethods does not return default methods in
interfaces (new java 8 feature)
Key: OGNL-249
URL: https://issues.apache.org/jira/browse/OGNL-249
Project: Commons OGNL
Issue Type: Bug
Components: Core Runtime
Affects Versions: 3.0
Environment: Java 8, OSX, likely all environments tho.
Reporter: Tim Wright
Hi,
I'm a contributor to an open source automated test framework called
"Concordion". We use OGNL internally to evaulate test specifications. One of
our users has reported a bug where Concordion cannot call default interface
methods. We've traced the problem to OGNL - the OgnlRuntime.getMethods method
is not returning default implementations of interface methods. We've verified
the behaviour in OGNL versions 2.6.9 and 3.0.9.
Consider the following interface and junit test file. The test fails. But it
probably should not.
// INTERFACE
package org.concordion;
public interface InterfaceWithDefaults {
default public void defaultMethod() { }
}
// TEST CLASS
package org.concordion;
import ognl.OgnlRuntime;
import org.junit.Test;
import static org.junit.Assert.assertNotNull;
public class TestDefaultMethods implements InterfaceWithDefaults {
@Test
public void testDefaultMethod() {
defaultMethod();
assertNotNull(OgnlRuntime.getMethods(TestDefaultMethods.class,
"defaultMethod", false));
}
}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)