[JBoss JIRA] Created: (RF-11035) Unexpected exception during isValid call with Hibernate @Size validation on h:selectManyCheckbox
by Ján Jamrich (JIRA)
Unexpected exception during isValid call with Hibernate @Size validation on h:selectManyCheckbox
------------------------------------------------------------------------------------------------
Key: RF-11035
URL: https://issues.jboss.org/browse/RF-11035
Project: RichFaces
Issue Type: Bug
Security Level: Public (Everyone can see)
Environment: * RichFaces 4.1.0-SNAPSHOT r.22520
* Metamer ${4.1.0-SNAPSHOT} r.${22520}
* Apache MyFaces JSF-2.0 Core Impl 2.0.4 /
* Apache Tomcat 7.0.12
* Java(TM) SE Runtime Environment 1.6.0_19-b04 @Linux
* Firefox 3.6.17 @ Linux x86_64
Reporter: Ján Jamrich
When validation performed on input of type h:selectManyCheckbox (bound to property of type List<String>) on backing bean), and unexpected error appear. See details for Mojarra and MyFaces in log attached.
Since property bound to property is List type, SizeValidatorForCollection validator implementation is called. But submited items from h:selectManyCheckbox are sent to appropriate method (isValid() ) as String[]. (Every item from selectManyCheckbox is another array item). Its the same behavior for Mojarra and MyFaces.
@Size annotation declare that it should work with String, Collection, Map and Array.
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira
12 years, 10 months
[JBoss JIRA] (RF-11656) Nested collapsibleSubTable always expanded
by Jesper Vrelits (Created) (JIRA)
Nested collapsibleSubTable always expanded
------------------------------------------
Key: RF-11656
URL: https://issues.jboss.org/browse/RF-11656
Project: RichFaces
Issue Type: Bug
Security Level: Public (Everyone can see)
Components: component
Affects Versions: 4.1.0.Milestone3
Reporter: Jesper Vrelits
When I use nested collapsibleSubTable the nested collapsibleSubTable is always expanded.
Even if I put expended="#{false}" it is also expanded.
My facelet looks like this:
{code}
<rich:collapsibleSubTable value="#{logicalInstanceListController.getGroups(environment.entry)}" var="group"
id="envtoggle" expandMode="ajax" expanded="#{environment.expanded}">
<rich:column>
<f:facet name="header">
<h:outputText value="#{dps_msgs['instancegroup']}"/>
</f:facet>
<h:outputText style="margin-left: 15px" value="#{group.entry.name}"/>
<rich:collapsibleSubTableToggler for="logicaltoggle"/>
</rich:column>
<rich:column>
<f:facet name="header">
<h:outputText value="#{dps_msgs['description']}"/>
</f:facet>
<h:outputText value="#{group.entry.description}"/>
</rich:column>
<rich:collapsibleSubTable value="#{logicalInstanceListController.getLogicalInstances(group)}"
var="logicalinstance" id="logicaltoggle" expandMode="ajax"
expanded="#{group.expanded}">
<rich:column>
<h:outputText style="margin-left: 30px" value="#{logicalinstance.name}"/>
</rich:column>
<rich:column>
<h:outputText value="#{logicalinstance.description}"/>
</rich:column>
</rich:collapsibleSubTable>
</rich:collapsibleSubTable>
{code}
Group.expanded seems to be updated correctly, so it seems the Renderer does not use this. A guess is that it uses the parent collapsibleSubTable expanded value, because they seem synchronized. My guess it the Renderer code does not work with nested collapsible sub tables.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.jboss.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
12 years, 10 months
[JBoss JIRA] (RF-11750) onter() with nested tab
by Jean ANDRE (Created) (JIRA)
onter() with nested tab
-----------------------
Key: RF-11750
URL: https://issues.jboss.org/browse/RF-11750
Project: RichFaces
Issue Type: Bug
Security Level: Public (Everyone can see)
Affects Versions: 4.1.0.CR1
Environment: Websphere 8 - RAD 8 - JSF Mojorra 2.1.4 - Spring 3.0.6 Final - Use @Inject @Named @SessionScoped as annotations - Firefox 7.0.1 - Windows 7 (6.1 sp1) - AspectJ 1.6.12 / AJDT
Reporter: Jean ANDRE
We put onenter() on tabs, because the actionlistener does not work very well on the first click. Some tabs are static while other are dynamically constructed. Tabs are created after a search and a new tab is created with a list of items. When a user click on item list, the content of the tab is refreshed to display detailed information. These information are displayed also inside 6 static tabs.
The problems comes when we click/select these static tabs. Selecting theses tabs, trigger the onter() of the parent tab even if we stay all the time on the parent tab....
We do not known if this behavior is normal or not.
The following code is the dynamic tab construction - Note the onenter()
{code}
<rich:tabPanel id="desktopTabPanel" switchType="ajax" headerPosition="top" activeItem="#{desktopTabController.activeTab}">
<rich:tab id="tab-workitems" name="tab-workitems" header="#{msg['desktop.tab.workitems']}" onenter="enterTab('#{tab.id}')">
<!-- -->
<!-- WORKITEMS TAB -->
<!-- -->
</rich:tab>
<rich:tab id="tab-search" name="tab-search" header="#{msg['desktop.tab.search']}" onenter="enterTab('#{tab.id}')">
<!-- -->
<!-- SEARCH TAB -->
<!-- -->
<a4j:outputPanel id="toggleSearchOutput">
<!-- -->
<!-- TOGGLE SEARCH -->
<!-- -->
<a4j:commandButton id="toggleCommandSearch"
value="#{msg[desktopTabController.toggleSearchLabel]}"
actionListener="#{desktopTabController.doToggleSearch}"
render="toggleSearchOutput"
immediate="true">
</a4j:commandButton>
<br />
<br />
<!-- -->
<!-- SEARCH CLIENT -->
<!-- -->
<ui:include src="client/searchClient.xhtml" />
<!-- -->
<!-- SEARCH WORKITEMS -->
<!-- -->
<ui:include src="workitems/searchWorkItems.xhtml" />
</a4j:outputPanel>
</rich:tab>
<c:forEach items="#{desktopTabController.desktopTabBean.tabElements}" var="tab">
<rich:tab id="#{tab.id}" name="#{tab.id}" actionListener="#{desktopTabController.doTabListener}" onenter="enterTab('#{tab.id}')">
<!-- -->
<!-- DYNAMIC TABS -->
<!-- -->
<f:facet name="header">
<h:panelGrid id="tab-header-#{tab.id}" columns="2" title="#{desktopTabController.getTabHeader(tab.id)}">
<h:outputText value="#{desktopTabController.getAdjustedTabHeader(tab.id)}" />
<h:commandButton image="/images/closeButton.png"
styleClass="closeButton"
action="#{desktopTabController.doCloseTab(tab.id)}" />
</h:panelGrid>
</f:facet>
<ui:fragment rendered="#{tab.isTabClient}">
<!-- -->
<!-- CLIENT TAB -->
<!-- -->
<ui:include src="client/listClient.xhtml" />
</ui:fragment>
<ui:fragment rendered="#{tab.isTabWorkItems}">
<!-- -->
<!-- WORKITEMS TAB -->
<!-- -->
<ui:include src="workItems/listWorkItems.xhtml" />
</ui:fragment>
</rich:tab>
</c:forEach>
</rich:tabPanel>
</h:form>
{code}
The onenter function definition. This function set only the selectedTab variable in the backing bean
{code}
<a4j:jsFunction id="enterTab" name="enterTab" action="#{desktopTabController.doEnterTab}" render="menu-opened-tabs">
<a4j:param name="tabId" assignTo="#{desktopTabController.activeTab}" />
</a4j:jsFunction>
{code}
The onenter function inside the backing-bean
{code}
public String doEnterTab() {
// we just need to set the activeTab because actionListener is not working
// for the first click - Bug has been reported by other users.
return OUTCOME_DESKTOP;
}
{code}
The following code is the nested tabs - Those tabs appears when the use click on the item from a list.
{code}
<rich:tabPanel switchType="client" headerPosition="top">
<rich:tab header="#{msg['client.tab.summary']}">
<!-- -->
<!-- SUMMARY -->
<!-- -->
<ui:include src="summaryClient.xhtml" />
</rich:tab>
<rich:tab header="#{msg['client.tab.info']}">
<!-- -->
<!-- INFO. -->
<!-- -->
<ui:include src="infoClient.xhtml" />
</rich:tab>
<rich:tab header="#{msg['client.tab.products']}">
<!-- -->
<!-- PRODUCTS -->
<!-- -->
</rich:tab>
<rich:tab header="#{msg['client.tab.phone.address']}">
<!-- -->
<!-- PHONES & ADDRESSES -->
<!-- -->
</rich:tab>
<rich:tab header="#{msg['client.tab.history']}">
<!-- -->
<!-- HISTORY -->
<!-- -->
</rich:tab>
<rich:tab header="#{msg['client.tab.workitems']}">
<!-- -->
<!-- WORK ITEMS -->
<!-- -->
</rich:tab>
</rich:tabPanel>
{code}
Then, each time we click on these nested tabs, the parent tab call the onenter().
See the screen capture for better understanding of the scenario.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.jboss.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
12 years, 10 months