[
https://issues.jboss.org/browse/JBIDE-21323?page=com.atlassian.jira.plugi...
]
Viacheslav Kabanovich edited comment on JBIDE-21323 at 12/18/15 5:36 PM:
-------------------------------------------------------------------------
I tried these cases:
{code}
public Set<SignOffStatus> getStatuses()
public List<SignOffStatus> getStatuses()
public Collection<SignOffStatus> getStatuses()
public SignOffStatus[] getStatuses()
{code}
In all cases both stat.name() and stat.label worked ok if statuses is invoked as
#\{bean.statuses}.
If statuses is invoked as #\{bean.getStatuses()}, then the first 3 cases (collections)
work ok, and the case of array does not work.
[~andrei.ivanov], please specify what is return type of getStatuses() in your case, is it
an array?
Is it an acceptable workaround to use #\{bean.statuses} ?
Anyway, the case I have reproduced is a bug indeed, though it is not specific to enums
only, but to any bean classes, so that I would open a new issue for it.
was (Author: scabanovich):
I tried these cases:
{code}
public Set<SignOffStatus> getStatuses()
public List<SignOffStatus> getStatuses()
public Collection<SignOffStatus> getStatuses()
public SignOffStatus[] getStatuses()
{code}
In all cases both stat.name() and stat.label worked ok if statuses is invoked as
#\{bean.statuses}.
If statuses is invoked as #{bean.getStatuses()}", then the first 3 cases
(collections) work ok, and the case of array does not work.
[~andrei.ivanov], please specify what is return type of getStatuses() in your case, is it
an array?
Is it an acceptable workaround to use #\{bean.statuses} ?
Anyway, the case I have reproduced is a bug indeed, though it is not specific to enums
only, but to any bean classes, so that I would open a new issue for it.
EL Knowledge Base Problem with enums
------------------------------------
Key: JBIDE-21323
URL:
https://issues.jboss.org/browse/JBIDE-21323
Project: Tools (JBoss Tools)
Issue Type: Bug
Components: jsf
Affects Versions: 4.3.0.Final
Environment: Eclipse Mars.1 (4.5.1), Primefaces 5.x
Reporter: Andrei Ivanov
Assignee: Viacheslav Kabanovich
Priority: Minor
Fix For: 4.4.x
Enum properties and method are not recognized:
In this case, {{label}} is recognized and shows up in the completion suggestions, but
{{name()}} is not and marked as unrecognized.
{code:xml}
<p:dataTable value="#{page.dataModel}" var="managerData"
lazy="true"
rowStyleClass="#{managerData.status.label}
labor-protection-#{managerData.status.name().replace('_',
'-').toLowerCase()}">
...
</p:dataTable>
{code}
{code:java}
public enum SignOffStatus {
VALID("Valid"),
ALMOST_EXPIRED("Almost expired"),
EXPIRED("Expired");
private final String label;
private SignOffStatus(String label) {
this.label = label;
}
public String getLabel() {
return label;
}
}
{code}
In a different page:
{code:xml}
<p:selectOneMenu value="#{instancePage.instanceCriteria.status}">
<f:selectItem itemLabel="--select--" itemValue="#{null}" />
<f:selectItems value="#{appBean.getStatuses()}" var="stat"
itemLabel="#{stat.label}" />
</p:selectOneMenu>
{code}
The enum has a {{getLabel()}} as the one above, but in this context it's not
recognized ({{"label" cannot be resolved}}).
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)