-
Bug
-
Resolution: Done
-
Major
-
4.0.0.Alpha2
-
None
1. Create JSF 2 KickStart project
2. Modify User.java:
package demo; import java.util.Collection; import java.util.HashMap; import java.util.Map; import javax.faces.bean.ManagedBean; import javax.faces.bean.SessionScoped; @ManagedBean(name="user") @SessionScoped public class User { private Map<String, User> users = new HashMap<String, User>(); private Map<String, Collection> list = new HashMap<String, Collection>(); private String name; public User() { } public String getName() { return name; } public void setName(String name) { this.name = name; } public String sayHello() { return "greeting"; } public Map<String, User> getUsers() { return users; } public void setUsers(Map<String, User> users) { this.users = users; } public Map<String, Collection> getList() { return list; } public void setList(Map<String, Collection> list) { this.list = list; } }
3. Open inputname.xhtml
4. Add <ui:param name="group" value="#
" /> inside <ui:composition> (line #9)
5. Save the file.
6. Open common.xhtml
7. Add <h:outputText value="#
" />
8. See the log:
Caused by: java.lang.NullPointerException at org.jboss.tools.jst.web.kb.internal.validation.ELValidator.validateElOperand(ELValidator.java:493) at org.jboss.tools.jst.web.kb.internal.validation.ELValidator.validateELExpression(ELValidator.java:350) at org.jboss.tools.jst.web.kb.internal.validation.ELValidator.validateEL(ELValidator.java:325) at org.jboss.tools.jst.web.kb.internal.validation.ELValidator.validate(ELValidator.java:270) at org.jboss.tools.common.validation.AsYouTypeValidatorManager.validate(AsYouTypeValidatorManager.java:174) ... 10 more
9. Press Ctrl and move the mouse over ['admin']
10. See the log:
java.lang.NullPointerException at org.jboss.tools.common.el.core.resolver.ELSegmentImpl$1.getStartPosition(ELSegmentImpl.java:63) at org.jboss.tools.common.el.core.resolver.ELResolutionImpl.findSegmentByOffset(ELResolutionImpl.java:94) at org.jboss.tools.jst.text.ext.hyperlink.ELHyperlinkDetector.detectHyperlinks(ELHyperlinkDetector.java:61) at org.eclipse.ui.texteditor.HyperlinkDetectorRegistry$HyperlinkDetectorDelegate.detectHyperlinks(HyperlinkDetectorRegistry.java:80) at org.eclipse.jface.text.hyperlink.HyperlinkManager.findHyperlinks(HyperlinkManager.java:286) at org.eclipse.jface.text.hyperlink.HyperlinkManager.findHyperlinks(HyperlinkManager.java:258) at org.eclipse.jface.text.hyperlink.HyperlinkManager.mouseMove(HyperlinkManager.java:462) at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:212) ...
11. Add <h:outputText value="#
{group.users['admin'].name}" />
12. Try Ctrl+Click on name. java.util.Iterator is open instead of User.getName()
- is related to
-
JBIDE-12630 EL Resolver incorrectly processes EL which uses java.util.Map
- Closed