ComponentVariables componentVariables = ComponentsVariableResolver.getVariables(this, tabPanel);
tabPanel.setRenderedValue(null);
Object checkedValue = checkValue(tabPanel.getValue());
UITabPanel pane = tabPanel;
UITab activeTab = null;
TabsIteratorHelper helper = new TabsIteratorHelper(pane.getRenderedTabs(), checkedValue);
activeTab = helper.getTab();
if (activeTab == null) {
Object label = MessageUtil.getLabel(context, tabPanel);
String message = label + ": tab panel has no enabled or rendered tabs!";
context.getExternalContext().log(message);
return ;
}
if (helper.isFallback()) {
Object label = MessageUtil.getLabel(context, tabPanel);
String message = label + ": tab panel [@selectedTab=" + checkedValue +
"] has no enabled or rendered tab with such name. Tab: " + activeTab.getName() +
" will be used instead!";
context.getExternalContext().log(message);
tabPanel.setRenderedValue(activeTab.getName());
} else if (checkedValue == null) {
tabPanel.setRenderedValue(activeTab.getName());
} else {
tabPanel.setRenderedValue(null);
}
helper = null;
ArrayList tabs = new ArrayList();
boolean clientSide = UISwitchablePanel.CLIENT_METHOD.equals(pane.getSwitchType());
TabInfoCollector tabInfoCollector = getTabInfoCollector();
UITab prevTab = null;
for (Iterator iter = pane.getRenderedTabs(); iter.hasNext();) {
UITab tab = (UITab) iter.next();
boolean active = activeTab == tab;
tab.setActive(active);
if (!clientSide) {