De : ahmed shaheen [mailto:ahmed_shn@;hotmail.com] > > hi all, > I have a problem with understanding the getSet(Portlets portlets, > VariableInteger theCount) function in the > JetspeedPortalToolkitService > class. > 1)why is it a recursive function ?
Because PortletSet(s) can be nested and the method neumbers all the sets for ease of access (although this is not needed anymore since we have js_peid identifiers). > 2)actualy it is return a > PortletControl(PortletSetControl) not a > PortletSet,!!i don't understand why? A PortletControl is a decorator element that encapsilates the actual Portlet or PortletSet and manages the title-bar and customization actions if any. > 3)what is the relation between the control and the > controller,i means > how are they executed with their template(jetspeed.vm,card.vm,...) > who calls getContent(rundata) for them?,which one of them is > executed first? > The layout system is modelled after AWT: - Portlet = Component - PortletSet = Container - PortletController = LayoutManager - PortletControl = more or less used like an Insets object So a PortletSet contains a lot of Portlet (that are usually wrapped by a PortletControl) and delegated to the PortletController the layout of its elements. If you want to trace the rendering step by step start from the Home.vm template, which is the default screen for Jetspeed, and which is executed by the layout. > sorry I may not be clear but i got confused when i reached > this point of > code.I successed to trace the the code till this point and > extracting the > following steps:- > -->>The turbine servlet is initialized > 1-Initialize the primary services(Resources and logging) > 2-Initialize the other services > -->>A request is received(a cycle for a request) > 1-Create Rundata object > 2-if this is the first invocation > -->call init(data) to intialize the services with the > rundata > 3-Set screen and actionin the rundata > 4-if the action is logout or login > -->refresh the session > 5-Execute the JetspeedSessionValidator action > 6-Execute the JetSpeedAccessController action > (The execution phase) > 7-Get the default page and execute it > The page will do the following: > -Execute some tasks before an action is executed > -Execute an action > -Execute some tasks after an action was executed > -Get the layout from the screen and execute it. > The layout will execute: > -Top navigation > -Screen > -Bottom navigation > Note : The default(page,layout,screen,navigation) in > jetspeed > (written in TRP) are : > JetspeedVelocityPage > VelocityDirectLayout-->default.vm > VelocityDirectScreen-->home.vm > VelocityNavigation----> top.vm, > left.vm, > bottom.vm > 8-Remove the acl from the session if any module set it to null > 9-Test and handle the redirectRequest > 10-Return the used rundata object to the factory for recycling > i reached the home.vm and stop there due to the prev. function. > > I hope that any body can help me plz:) > > Ahmed shaheen > > > > > _________________________________________________________________ > STOP MORE SPAM with the new MSN 8 and get 2 months FREE* > http://join.msn.com/?page=features/junkmail > > > -- > To unsubscribe, e-mail: > <mailto:jetspeed-dev-unsubscribe@;jakarta.apache.org> > For additional commands, e-mail: > <mailto:jetspeed-dev-help@;jakarta.apache.org> > -- To unsubscribe, e-mail: <mailto:jetspeed-dev-unsubscribe@;jakarta.apache.org> For additional commands, e-mail: <mailto:jetspeed-dev-help@;jakarta.apache.org>
