From: ViK <vis...@hp...> - 2007-03-16 10:56:08
|
hi, Is it possible to create a new child component of type Compound under another Compound component, I could see a method sfCreateNewChild() which creates child of type Prim, however I did not find one for Compound component. Is the purpose of sfAddChild(), to convert the child Prim component to Compound? I understand that, when a child SF component (either Prim or Compound) is created, it undergoes its entire lifecycle. Can the entire lifecycle process be bypassed? Thanks in adv, ++ViK |
From: ViK <vis...@hp...> - 2007-03-16 05:34:47
|
hi, Is it possible to create a new child component of type Compound under another Compound component, I could see a method sfCreateNewChild() which creates child of type Prim, however I did not find one for Compound component. Is the purpose of sfAddChild(), to convert the child Prim component to Compound? I understand that, when a child SF component (either Prim or Compound) is created, it undergoes its entire lifecycle. Can the entire lifecycle process be bypassed? Thanks in adv, --ViK |
From: Guijarro, J. <jul...@hp...> - 2007-03-22 13:54:04
|
Hi, =20 ________________________________ From: sma...@li... [mailto:sma...@li...] On Behalf Of Kalbagilmath, Vishwanath (STSD) Sent: 16 March 2007 05:33 To: sma...@li... Subject: [Smartfrog-developer] creating child compound component =20 hi, Is it possible to create a new child component of type Compound under another Compound component, I could see a method sfCreateNewChild() which creates child of type Prim, however I did not find one for Compound component. Is the purpose of sfAddChild(), to convert the child Prim component to Compound? =20 sfCreateNewChild() can create any type of child as long as it implements Prim interface. Compound implements Prim (aka Primitive) and the same with every SmartFrog component. sfCreateNewChild() will use sfAddChild(). You don't need to use sfAddChild() unless you manage you deployment manually. I understand that, when a child SF component (either Prim or Compound) is created, it undergoes its entire lifecycle. Can the entire lifecycle process be bypassed? Yes, but it is up to the parent to decide this. Compound will drive its children through their lifecycle but other components like Parallel will behave in a different way. Programmatically you can change all this to fit your requirements. Check this thread for more info http://thread.gmane.org/gmane.comp.java.smartfrog.devel/517/focus=3D521 PS: =20 Reminder: the lists archives with RSS feeds are available at: http://news.gmane.org/search.php?match=3Dsmartfrog Thanks in adv, --ViK |
From: Goldsack, P. <pat...@hp...> - 2007-03-16 13:01:39
|
There are a number of issues here: 1) As a Compound IS a Prim, you can use the sfCreateNewChild method for compounds as well. It takes a ComopnentDescription hierarchy which deploys to whatever it defines, runs it through the lifecycle, and adds it to the parent as a child. 2) sfAddChild is used to add an already deployed component as a child (and is used by sfCreateNewChild). 3) If you just want to create the component tree, but not run any of the other lifecycle methods, use the sfDeployComponentDescritpion method on Compound to do this. This is also used by the sfCreateNewChild to build the tree before it runs the lifecycle methods. If sfDeployComponentDescritpion is given a parent, it uses sfAddChild to add the created component tree to the parent after creation. Patrick -----Original Message----- From: sma...@li... [mailto:sma...@li...] On Behalf Of Kalbagilmath, Vishwanath (STSD) Sent: 16 March 2007 10:56 To: sma...@li... Subject: [Smartfrog-developer] creating child compound component hi, Is it possible to create a new child component of type Compound under another Compound component, I could see a method sfCreateNewChild() which creates child of type Prim, however I did not find one for Compound component. Is the purpose of sfAddChild(), to convert the child Prim component to Compound? I understand that, when a child SF component (either Prim or Compound) is created, it undergoes its entire lifecycle. Can the entire lifecycle process be bypassed? Thanks in adv, ++ViK ------------------------------------------------------------------------ - Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT & business topics through brief surveys-and earn cash http://www.techsay.com/default.php?page=3Djoin.php&p=3Dsourceforge&CID=3D= DEVDE V _______________________________________________ Smartfrog-developer mailing list Sma...@li... https://lists.sourceforge.net/lists/listinfo/smartfrog-developer |
From: Steve L. <ste...@hp...> - 2007-03-16 14:04:28
|
Goldsack, Patrick wrote: > > There are a number of issues here: > > 1) As a Compound IS a Prim, you can use the sfCreateNewChild method for > compounds as well. It takes a ComopnentDescription hierarchy which > deploys to whatever it defines, runs it through the lifecycle, and adds > it to the parent as a child. > > 2) sfAddChild is used to add an already deployed component as a child > (and is used by sfCreateNewChild). > > 3) If you just want to create the component tree, but not run any of the > other lifecycle methods, use the sfDeployComponentDescritpion method on > Compound to do this. This is also used by the sfCreateNewChild to build > the tree before it runs the lifecycle methods. If > sfDeployComponentDescritpion is given a parent, it uses sfAddChild to > add the created component tree to the parent after creation. > > Patrick Can I add that the org.smartfrog.sfcore.workflow.eventbus.EventCompoundImpl class has lots of support for partially deploying a child, deploying and starting children, and handling their failures. Its a good place to start if you are trying to do things, especially as there are lots of override points for handling child termination. At the very least, look at the code. -steve |