Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

Varargs: jakarta.el.MethodNotFoundException #3

Open
arjantijms opened this issue Jan 18, 2022 · 1 comment
Open

Varargs: jakarta.el.MethodNotFoundException #3

arjantijms opened this issue Jan 18, 2022 · 1 comment
Milestone

Comments

@arjantijms
Copy link
Contributor

arjantijms commented Jan 18, 2022

I encountered the following exception when testing the code below on Wildfly 24."

Tomcat had updated their varargs handling in BZ 65358, and I'm wondering if this API could have something similar applied?

However, I understand this might also be due to vagueness in the spec? Enum could be coerce to a string? I appreciate any assistance. Thanks!

Caused by: javax.el.MethodNotFoundException: Unable to find unambiguous method: class com.test.TestBean.testMethod(com.test.Level, com.test.Level, com.test.Level)
	at javax.el.ELUtil.findMostSpecificWrapper(ELUtil.java:407)
	at javax.el.ELUtil.findWrapper(ELUtil.java:376)
	at javax.el.ELUtil.findMethod(ELUtil.java:271)
	at javax.el.ELUtil.findMethod(ELUtil.java:230)
	at javax.el.BeanELResolver.invoke(BeanELResolver.java:327)
	at org.apache.jasper.el.JasperELResolver.invoke(JasperELResolver.java:147)
public enum Level {
    LOW   (1);

    private final int levelCode;

    private Level(int levelCode) {
        this.levelCode = levelCode;
    }
}
public class TestBean {

    public Level getLevel() {
        return Level.LOW;
    }
    
    public String testMethod(Level level1, Level... level2) {
        return "(Level level1, Level... level2)";
    }

    public String testMethod(String param1, Level... level2) {
        return "(String param1, Level... level2)";
    }
}

EL Expression:
${testBean.testMethod(testBean.getLevel(), testBean.getLevel(), testBean.getLevel())}

@arjantijms
Copy link
Contributor Author

Implementation of jakartaee/expression-language#173

@arjantijms arjantijms added this to the 5.0.0 milestone Jan 18, 2022
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant