[
https://issues.jboss.org/browse/WFLY-4023?page=com.atlassian.jira.plugin....
]
Patrick Garner updated WFLY-4023:
---------------------------------
Steps to Reproduce:
{code:title=Bar.java|borderStyle=solid}
@ManagedBean(eager=true)
@ApplicationScoped
public class EnumConfig {
@PostConstruct
public void init() {
System.out.println("Testing 123...");
FacesContext.getCurrentInstance().getApplication().addELContextListener(
new ELContextListener() {
@Override
public void contextCreated(ELContextEvent event) {
System.out.println("Testing 456...");
event.getELContext().getImportHandler().importClass(
"foo.bar.business.model.enumeration.YesOrNo");
//importHandler.importPackage(
// "foo.bar.business.model.enumeration.preference");
Class<?> clazz =
importHandler.resolveClass("YesOrNo");
System.out.println("clazz = " + clazz);
}
}
);
}
}
21:26:48,703 INFO [stdout] (MSC service thread 1-4) Testing 123...
21:39:11,976 INFO [stdout] (default task-9) Testing 456...
21:39:11,976 INFO [stdout] (default task-18) clazz = null
importHandler = {javax.el.ImportHandler@15909}
classNameMap = {java.util.HashMap@15910} size = 1
[0] = {java.util.HashMap$Node@15923}"YesOrNo" ->
"foo.bar.business.model.enumeration.YesOrNo"
classMap = {java.util.HashMap@15911} size = 0
staticNameMap = {java.util.HashMap@15912} size = 0
notAClass = {java.util.HashSet@15913} size = 1
[0] =
{java.lang.String(a)15030}"foo.bar.business.model.enumeration.YesOrNo"
packages = {java.util.ArrayList@15914} size = 1
[0] = {java.lang.String(a)15926}"java.lang"
was:
@ManagedBean(eager=true)
@ApplicationScoped
public class EnumConfig {
@PostConstruct
public void init() {
System.out.println("Testing 123...");
FacesContext.getCurrentInstance().getApplication().addELContextListener(
new ELContextListener() {
@Override
public void contextCreated(ELContextEvent event) {
System.out.println("Testing 456...");
event.getELContext().getImportHandler().importClass(
"foo.bar.business.model.enumeration.YesOrNo");
//importHandler.importPackage(
// "foo.bar.business.model.enumeration.preference");
Class<?> clazz =
importHandler.resolveClass("YesOrNo");
System.out.println("clazz = " + clazz);
}
}
);
}
}
21:26:48,703 INFO [stdout] (MSC service thread 1-4) Testing 123...
21:39:11,976 INFO [stdout] (default task-9) Testing 456...
21:39:11,976 INFO [stdout] (default task-18) clazz = null
importHandler = {javax.el.ImportHandler@15909}
classNameMap = {java.util.HashMap@15910} size = 1
[0] = {java.util.HashMap$Node@15923}"YesOrNo" ->
"foo.bar.business.model.enumeration.YesOrNo"
classMap = {java.util.HashMap@15911} size = 0
staticNameMap = {java.util.HashMap@15912} size = 0
notAClass = {java.util.HashSet@15913} size = 1
[0] =
{java.lang.String(a)15030}"foo.bar.business.model.enumeration.YesOrNo"
packages = {java.util.ArrayList@15914} size = 1
[0] = {java.lang.String(a)15926}"java.lang"
javax.el.ImportHandler#importClass & #importPackage doesn't
import WEB-INF/classes
----------------------------------------------------------------------------------
Key: WFLY-4023
URL:
https://issues.jboss.org/browse/WFLY-4023
Project: WildFly
Issue Type: Bug
Components: JSF
Affects Versions: 8.1.0.Final
Environment: Win7, Wildfly 8.1.0.Final
Reporter: Patrick Garner
Assignee: Farah Juma
Original Estimate: 4 hours
Remaining Estimate: 4 hours
ImportHandler is not importing classes in WEB-INF/classes and, thus, developers are
unable to import classes into the EL evaluation environment per EL 3.0 spec. section
1.22.2 "Imports of Packages, Classes, and Static Fields"
Here's the ImportHandler relevant code
(
https://github.com/jboss/jboss-el-api_spec/blob/master/src/main/java/java...)
private Class<?> getClassFor(String className) {
if (!notAClass.contains(className)) {
try {
return Class.forName(className, false, getClass().getClassLoader());
} catch (ClassNotFoundException ex) {
notAClass.add(className);
}
}
return null;
}
--
This message was sent by Atlassian JIRA
(v6.3.1#6329)