[Oracle ADF] Активация TaskFlow только при необходимости
В общем можно увеличить скорость работы приложения, если не открывать сразу все taskflow.
Для этого в свойствах taskflow (на странице ***PageDef.xml):
activation: conditional
active: #{SessionStateBean.activateDashboard}
public class SessionStateBean {
private boolean activateDashboard = false;
****
public void delay(DisclosureEvent disclosureEvent) {
RichShowDetailItem sdi = (RichShowDetailItem) disclosureEvent.getSource();
objectNavigatorItem = sdi.getText();
if (disclosureEvent.isExpanded()) {
switch (sdi.getId()) {
case "dashboard-nav":
activateDashboard = true;
break;
default:
break;
}
}
}
}
Вариант выполнение логики в случае, если taskflow активировано.
public class SessionStateBean {
SessionStateBean ssb = (SessionStateBean) JSFUtils.getManagedBeanValue("SessionStateBean");
if (ssb.isActivateDashboard()) {
****
}
}