[
https://jira.jboss.org/jira/browse/RF-6596?page=com.atlassian.jira.plugin...
]
Leonid Sokolin commented on RF-6596:
------------------------------------
I have similar problem using a combo box. I want to populate combo box with list of values
selected in shuttleList.
I have the following shuttleList:
<rich:listShuttle id="selectTimePeriods"
sourceValue="#{qtBeanParam.allTrailingPeriods}"
targetValue="#{qtBeanParam.selectedTrailingPeriods}"
var="itemTime"
listsHeight="150"
sourceListWidth="150" sourceCaptionLabel="Available Trailing
Periods"
targetListWidth="150" targetCaptionLabel="Selected Trailing
Periods"
targetRequired="true" requiredMessage="Periods should be
selected."
copyAllControlLabel="" copyControlLabel=""
removeAllControlLabel="" removeControlLabel=""
upControlLabel="" topControlLabel=""
downControlLabel="" bottomControlLabel=""
<rich:column width="120">
<h:outputText
value="#{itemTime.display}"></h:outputText>
</rich:column>
<a4j:support event="onlistchanged"
reRender="sortPeriod,sortPeriodList" ajaxSingle="true"/>
</rich:listShuttle>
and put the following in dependent combo box:
<rich:comboBox id="sortPeriod" width="100"
value="#{qtBeanParam.sortPeriod}" >
<f:selectItems id="sortPeriodList"
value="#{qtBeanParam.selectedTrailingPeriods}" />
</rich:comboBox>
Problem is that values selected in the shuttleList are enums:
public enum TrailingPeriods {
MostRecentMonth(1,"MRM"), MostRecentQuarter(3,"MRQ"), SixMonths(6,
"6 M"), YearToDate(-1, "YTD"), OneYear(12, "1 Yr"),
TwoYear(2*12, "2 Yrs"), ThreeYear(3*12, "3 Yrs"), FourYear(4*12,
"4 Yrs"), FiveYear(5*12, "5 Yrs"),
SixYear(6*12, "6 Yrs"), SevenYear(7*12, "7 Yrs"), EightYear(8*12,
"8 Yrs"), NineYear(9*12, "9 Yrs"),
TenYear(10*12, "10 Yrs"), SinceInception(-10, "Since Inception");
...
And it throws cast exception when shuttleList is changed:
17:22:48,656 ERROR [[Faces Servlet]] Servlet.service() for servlet Faces Servlet threw
exception
java.lang.ClassCastException: com.nb.pi.processor.beans.TrailingPeriods
at
org.richfaces.renderkit.ComboBoxBaseRenderer.encodeItems(ComboBoxBaseRenderer.java:96)
at org.richfaces.renderkit.html.ComboBoxRenderer.doEncodeEnd(ComboBoxRenderer.java:558)
at org.richfaces.renderkit.html.ComboBoxRenderer.doEncodeEnd(ComboBoxRenderer.java:587)
at org.ajax4jsf.renderkit.RendererBase.encodeEnd(RendererBase.java:134)
at javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:836)
...
Does it mean that I coudn;t use enums here?
InplaceSelect with Enum => Cast exception
-----------------------------------------
Key: RF-6596
URL:
https://jira.jboss.org/jira/browse/RF-6596
Project: RichFaces
Issue Type: Bug
Security Level: Public(Everyone can see)
Affects Versions: 3.3.0
Reporter: julien colin
Assignee: Nick Belaevski
Fix For: 3.3.1
I've an Enum "Report" with these values
"ALL,DELIVERED,NONE,UNDEFINED"
This code with 3.2.2 it works.
Code:
<rich:inplaceSelect value="#{account.deliveryReport}"
editEvent="onclick" selectOnEdit="true"
defaultLabel="click to edit">
<s:enumItem enumValue="ALL" itemLabel="ALL" />
<s:enumItem enumValue="DELIVERED" itemLabel="DELIVERED" />
<s:enumItem enumValue="NONE" itemLabel="NONE" />
<s:enumItem enumValue="UNDEFINED" itemLabel="UNDEFINED" />
<s:convertEnum />
<a4j:support event="onviewactivated" eventsQueue="customer"
action="#{entityManager.flush}" />
</rich:inplaceSelect>
with 3.3.1 i have a cast exception:
java.lang.ClassCastException: java.lang.String cannot be cast to java.lang.Enum
at org.jboss.seam.ui.converter.EnumConverter.getAsString(EnumConverter.java:56)
at org.ajax4jsf.util.InputUtils.getConvertedStringValue(InputUtils.java:114)
at
org.richfaces.renderkit.ComboBoxBaseRenderer.getConvertedStringValue(ComboBoxBaseRenderer
.java:131)
at
org.richfaces.renderkit.ComboBoxBaseRenderer.encodeSuggestion(ComboBoxBaseRenderer.java:1
38)
at
org.richfaces.renderkit.InplaceSelectBaseRenderer.encodeItems(InplaceSelectBaseRenderer.j
ava:101)
at
org.richfaces.renderkit.html.InplaceSelectRenderer.doEncodeEnd(InplaceSelectRenderer.java
:612)
at
org.richfaces.renderkit.html.InplaceSelectRenderer.doEncodeEnd(InplaceSelectRenderer.java
:645)
at org.ajax4jsf.renderkit.RendererBase.encodeEnd(RendererBase.java:134)
at javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:861)
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira