[ 
https://jira.jboss.org/jira/browse/RF-6596?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12519059#action_12519059
 ] 

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

        
_______________________________________________
richfaces-issues mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/richfaces-issues

Reply via email to