static public class SelectNodeActionListener extends EventListener<UIPortalNavigation>
{
public void execute(Event<UIPortalNavigation> event) throws Exception
{
UIPortalNavigation uiNavigation = event.getSource();
UIPortal uiPortal = Util.getUIPortal();
String uri = event.getRequestContext().getRequestParameter(OBJECTID);
int index = uri.lastIndexOf("::");
String id = uri.substring(index + 2);
PageNavigation selectNav = null;
if (index <= 0)
{
selectNav = uiPortal.getSelectedNavigation();
}
else
{
String navId = uri.substring(0, index);
//selectNav = uiPortal.getPageNavigation(Integer.parseInt(navId));
selectNav = uiPortal.getSelectedNavigation();
}
PageNode selectNode = PageNavigationUtils.searchPageNodeByUri(selectNav, id);
uiNavigation.selectedNode_ = selectNode;
String parentUri = null;
index = uri.lastIndexOf("/");
if (index > 0)
parentUri = uri.substring(0, index);
if (parentUri == null || parentUri.length() < 1)
uiNavigation.selectedParent_ = selectNav;
else
uiNavigation.selectedParent_ = PageNavigationUtils.searchPageNodeByUri(selectNav, parentUri);
PageNodeEvent<UIPortal> pnevent;
pnevent = new PageNodeEvent<UIPortal>(uiPortal, PageNodeEvent.CHANGE_PAGE_NODE, uri);
uiPortal.broadcast(pnevent, Event.Phase.PROCESS);
}