commons-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Tim Wright (JIRA)" <j...@apache.org>
Subject [jira] [Created] (OGNL-249) Ognl.GetMethods does not return default methods in interfaces (new java 8 feature)
Date Tue, 10 Mar 2015 07:20:38 GMT
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)

Mime
View raw message