RE: Problem in the function resolution phase
"Guijarro, Julio" <[email protected]> Wed, 9 Nov 2005 14:01:18 -0000
| Newsgroups | gmane.comp.java.smartfrog.devel |
|---|---|
| Message-ID | <[email protected]> |
You can use this link: http://cvs.sourceforge.net/viewcvs.py/*checkout*/smartfrog/core/smartfrog/docs/sfWorkflow.pdf The links from www.smartfrog.org link to cvs copies of the doucumentation. Also, we have updated the website recently. You can be interested in: http://www.smartfrog.org/links.htm Let me know if you want the link to your Jboss components to be changed or updated. and for some fun films go to: http://www.smartfrog.org/film/films.htm Regards, Julio > -----Original Message----- > From: smartfrog-developer-admin-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org [mailto:smartfrog- > developer-admin-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org] On Behalf Of Goldsack, Patrick > Sent: 09 November 2005 12:07 > To: Gustavo Wagner D Mendes / Pos. COPIN; smartfrog- > [email protected] > Cc: aandrade-y04Q/[email protected] > Subject: RE: [Smartfrog-developer] Problem in the function resolution > phase > > > It has been brought up to date recently with the changes we have made. Not > a huge number, I think, but it would be worth your while reading the > latest version in the CVS. > > One change which neatens it up is that in Parallel and Sequence you no > longer need to wrap the actions in the attribute "actions". A few other > components have been added as well. > > Patrick > > -----Original Message----- > From: Gustavo Wagner D Mendes / Pos. COPIN > [mailto:gustavo-y04Q/[email protected]] > Sent: 09 November 2005 12:02 > To: Goldsack, Patrick; smartfrog-developer-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org > Cc: aandrade-y04Q/[email protected] > Subject: RE: [Smartfrog-developer] Problem in the function resolution > phase > > Hello Patrick. > > Thanks. we will overwrite the sfDeployWith method. > As for the document, I was referring to the SmartFlow document, that > explains the workflow of SmartFrog: events, parallel, serial, etc. Is > there a new version of this document? > > Thanks, > > Gustavo > > On Wed, 9 Nov 2005 09:13:52 -0000, Goldsack, Patrick wrote > > Its not in the Prim interface as it is not one of the remotable > > methods - but I assure you that it is there in the class. > > > > When a component is created, and local to this, the deployer calls the > > default constructor for the component class, then call the > > sfDeployWith method passing all the data that is required to construct > > the component (parent and description). After that, the deployer > > returns the component handle to the requestor. > > > > As for the reference manual, I am currently (slowly) working on a > > revised version - it is in the CVS - with a large amount of new > > introductory "how to use" material. But this is still only partially > > done. The previsouly existing content is there, but somewhat > restructured. > > > > Patrick > > > > -----Original Message----- > > From: Gustavo Wagner D Mendes / Pos. COPIN > > [mailto:gustavo-y04Q/[email protected]] Sent: 08 November 2005 20:17 To: > > Goldsack, Patrick; smartfrog-developer-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org Cc: > aandrade-y04Q/[email protected] > > Subject: RE: [Smartfrog-developer] Problem in the function resolution > > phase > > > > Hello Patrick. > > > > Thanks for the points. But we still have doubt about the sfDeployWith > > method. where is the public void sfDeployWith(Prim parent, > > ComponentDescritpion Cd) method? We haven't found it in the Compound > > and Prim interfaces. > > > > Another doubt. Is there a new version of the SmartFlow document? I > > have the 2003-2004 draft. > > > > Cheers, > > > > Gustavo > > > > On Mon, 7 Nov 2005 15:51:41 -0000, Goldsack, Patrick wrote > > > A number of points. > > > > > > 1) The phase list should read "type, place, sfconfig (sfConfig?), > > > link, function". In this way, you don't link and apply functions to > > > anything other than sfConfig. > > > > > > 2) If you want to keep a copy of the component description, > > > overwrite the definition of sfDeployWith(ComponentDescritpion) and > > > define it to be the following: > > > > > > ComponentDescription myCd; > > > public void sfDeployWith(Prim parent, ComponentDescritpion Cd) > > > throws ... { myCd = cd.copy(); // must copy, as original gets > > > changed by side-effect during deployment super(parent, cd); > } > > > > > > Hopes this helps, > > > > > > Patrick > > > > > > -----Original Message----- > > > From: smartfrog-developer-admin-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org > > > [mailto:smartfrog-developer-admin-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org] On Behalf > > > Of Gustavo Wagner D Mendes / Pos. COPIN Sent: 07 November 2005 15:10 > > > To: Goldsack, Patrick; smartfrog-developer-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org Cc: > > > aandrade-y04Q/[email protected] Subject: RE: [Smartfrog-developer] Problem > > > in the function resolution phase > > > > > > Hello Patrick. How are you? > > > > > > I have faced this problem when I have tried to parse a component > > > to get its ComponentDescription. I do not know another way to get > > > the ComponentDescription after the component is running. So, as I > > > need the ComponentDescription to redeploy a component on a remote > > > machine, I have developed the util paserDescription method below: > > > > > > > public static ComponentDescription parseDescription (InputStream > > > stream) throws RemoteException, SmartFrogException, > > > FileNotFoundException { Phases phases = new SFParser() > > > .sfParse(stream); > > > > > > /* Resolving the phases. We don't resolve the 'sfConfig' > phase because > > > * it isn't a deployable component. > > > */ > > > phases.sfResolvePhase("type"); > > > phases.sfResolvePhase("place"); > > > phases.sfResolvePhase("link"); > > > phases.sfResolvePhase("function"); > > > > > > return phases.sfAsComponentDescription(); > > > } > > > > > > To test it, I have developed a simple component to be parsed: > > > > > > #include "org/smartfrog/components.sf" > > > #include "org/smartfrog/functions.sf" > > > > > > Teste1 extends { > > > sfClass "org.ourgrid.serviceprofile.teste.TesteImpl"; > > > } > > > > > > sfConfig extends Compound { > > > teste1 extends Teste1; > > > } > > > > > > I have noticed that the problem is the inclusion of the functions.sf > > > file. Even if you don't use any function in the function.sf file, > > > the problem will occur. > > > > > > Am I right? > > > > > > Cheers, > > > > > > Gustavo > > > > > > ps.: The stacktrace of the error is below: > > > > > > SmartFrogCompileResolutionException:: > > > java.lang.NullPointerException, > > > resolutionPhase: function > > > at > > > > > > org.smartfrog.sfcore.languages.sf.SmartFrogCompileResolutionException.forw > ard(SmartFrogCompileResolutionException.java:294) > at > org.smartfrog.sfcore.languages.sf.sfcomponentdescription.SFComponentDescri > ptionImpl.sfResolvePhases(SFComponentDescriptionImpl.java:662) > at > org.smartfrog.sfcore.languages.sf.sfcomponentdescription.SFComponentDescri > ptionImpl.sfResolvePhase(SFComponentDescriptionImpl.java:621) > at > org.ourgrid.serviceprofile.util.Util.parseDescription(Util.java:328) > at > org.ourgrid.serviceprofile.util.UtilTest.testGetUndoComponent(UtilTest.jav > a:254) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at > sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at > java.lang.reflect.Method.invoke(Unknown Source) at > junit.framework.TestCase.runTest(TestCase.java:154) at > junit.framework.TestCase.runBare(TestCase.java:127) at > junit.framework.TestResult$1.protect(TestResult.java:106) at > junit.framework.TestResult.runProtected(TestResult.java:124) at > junit.framework.TestResult.run(TestResult.java:109) at > junit.framework.TestCase.run(TestCase.java:118) at > junit.framework.TestSuite.runTest(TestSuite.java:208) at > junit.framework.TestSuite.run(TestSuite.java:203) at > org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTest > Runner.java:478) > at > org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunne > r.java:344) > at > org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunn > er.java:196) > Caused by: java.lang.NullPointerException at > java.util.Hashtable.put(Unknown > Source) at > org.smartfrog.sfcore.common.OrderedHashtable.primPut(OrderedHashtable.java > :170) > at > org.smartfrog.sfcore.common.OrderedHashtable.put(OrderedHashtable.java:182 > ) at > org.smartfrog.sfcore.languages.sf.functions.BaseFunction.doit(BaseFunction > .java:63) > at org.smartfrog.sfcore.languages.sf.Phase.actOn(Phase.java:97) > at > org.smartfrog.sfcore.componentdescription.ComponentDescriptionImpl.visit(C > omponentDescriptionImpl.java:604) > at > org.smartfrog.sfcore.componentdescription.ComponentDescriptionImpl.visit(C > omponentDescriptionImpl.java:599) > at > org.smartfrog.sfcore.languages.sf.sfcomponentdescription.SFComponentDescri > ptionImpl.sfResolvePhases(SFComponentDescriptionImpl.java:659) > ... 18 more > > > > > > On Thu, 3 Nov 2005 22:17:55 -0000, Goldsack, Patrick wrote > > > > Gustavo, > > > > > > > > Thanks for pointing this out. I wonder how this slipped through - > > > > it must have been sitting there for ages without anyone noticing. > > > > The correct function for adding its attributes is sum, not plus. > > > > The definition of plus should probably be removed, or made to > > > > point to the class Sum for possible backward compatability. I will > > > > consider this and fix... > > > > > > > > I am somewhat surprised that unless you actually try to use it you > > > > get an error (or if you try to include the file directly into > sfConfig). > > > > Only the functions used within sfConfig should be evaulated, so a > > > > file included at the top level will be ignored. > > > > > > > > Eliminating the function phase enirely will of course remove the > > > > problem, but I wouldn't recommend it! > > > > > > > > Can you send me some more details as to why you are getting the > > > > error message? The file you are parsing would do. > > > > > > > > Thanks > > > > Patrick > > > > > > > > -----Original Message----- > > > > From: smartfrog-developer-admin-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org > > > > [mailto:smartfrog-developer-admin-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org] On Behalf > > > > Of Gustavo Wagner D Mendes / Pos. COPIN Sent: 03 November 2005 > > > > 21:49 > > > > To: smartfrog-developer-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org Subject: [Smartfrog- > > > > developer] Problem in the function resolution phase > > > > > > > > Hello all. > > > > > > > > In the org/smartfrog/functions.sf file there is the following > component: > > > > > > > > plus extends { > > > > phase.function > > > > "org.smartfrog.sfcore.languages.sf.functions.Plus"; } > > > > > > > > Note that it links to the > > > > org/smartfrog/sfcore/languages/sf/functions/Plus.class class, but > > > > it does not exists in any smartfrog distribution. If we try to > > > > parse any component, in the function phase occurs a > ClassNotFoundException. > > > > > > > > When I comment the function phase - > > > > //phases.sfResolvePhase("function");, it works well. > > > > > > > > If you dont have the Plus class, I can do it and send to you. > > > > > > > > Cheers, > > > > > > > > Gustavo > > > > > > > > ############################################# > > > > # GUSTAVO WAGNER DINIZ MENDES # > > > > # Graduado pela UFCG # > > > > # Curso: Ciência da Computação # > > > > # Mestrando pela COPIN-UFCG # > > > > # * Integrante do projeto OurGrid # > > > > # Fones: (83)88246910 / 32358355 # > > > > # 33333453 # > > > > > > > > ------------------------------------------------------- > > > > SF.Net email is sponsored by: > > > > Tame your development challenges with Apache's Geronimo App Server. > > > > Download it for free - -and be entered to win a 42" plasma tv or > > > > your very own Sony(tm)PSP. Click here to play: > > > http://sourceforge.net/geronimo.php > > > > _______________________________________________ > > > > Smartfrog-developer mailing list > > > > Smartfrog-developer-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org > > > > https://lists.sourceforge.net/lists/listinfo/smartfrog-developer > > > > > > > > ------------------------------------------------------- > > > > SF.Net email is sponsored by: > > > > Tame your development challenges with Apache's Geronimo App Server. > > > > Download it for free - -and be entered to win a 42" plasma tv or > > > > your very own Sony(tm)PSP. Click here to play: > > > > http://sourceforge.net/geronimo.php > > > > _______________________________________________ > > > > Smartfrog-developer mailing list > > > > Smartfrog-developer-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org > > > > https://lists.sourceforge.net/lists/listinfo/smartfrog-developer > > > > > > ############################################# > > > # GUSTAVO WAGNER DINIZ MENDES # > > > # Graduado pela UFCG # > > > # Curso: Ciência da Computação # > > > # Mestrando pela COPIN-UFCG # > > > # * Integrante do projeto OurGrid # > > > # Fones: (83)88246910 / 32358355 # > > > # 33333453 # > > > > > > ------------------------------------------------------- > > > SF.Net email is sponsored by: > > > Tame your development challenges with Apache's Geronimo App Server. > > > Download it for free - -and be entered to win a 42" plasma tv or > > > your very own Sony(tm)PSP. Click here to play: > > http://sourceforge.net/geronimo.php > > > _______________________________________________ > > > Smartfrog-developer mailing list > > > Smartfrog-developer-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org > > > https://lists.sourceforge.net/lists/listinfo/smartfrog-developer > > > > > > ------------------------------------------------------- > > > SF.Net email is sponsored by: > > > Tame your development challenges with Apache's Geronimo App Server. > > > Download it for free - -and be entered to win a 42" plasma tv or > > > your very own Sony(tm)PSP. Click here to play: > > > http://sourceforge.net/geronimo.php > > > _______________________________________________ > > > Smartfrog-developer mailing list > > > Smartfrog-developer-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org > > > https://lists.sourceforge.net/lists/listinfo/smartfrog-developer > > > > ############################################# > > # GUSTAVO WAGNER DINIZ MENDES # > > # Graduado pela UFCG # > > # Curso: Ciência da Computação # > > # Mestrando pela COPIN-UFCG # > > # * Integrante do projeto OurGrid # > > # Fones: (83)88246910 / 32358355 # > > # 33333453 # > > > > ------------------------------------------------------- > > SF.Net email is sponsored by: > > Tame your development challenges with Apache's Geronimo App Server. > > Download it for free - -and be entered to win a 42" plasma tv or your > > very own Sony(tm)PSP. Click here to play: > > http://sourceforge.net/geronimo.php > > _______________________________________________ > > Smartfrog-developer mailing list > > Smartfrog-developer-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org > > https://lists.sourceforge.net/lists/listinfo/smartfrog-developer > > > ############################################# > # GUSTAVO WAGNER DINIZ MENDES # > # Graduado pela UFCG # > # Curso: Ciência da Computação # > # Mestrando pela COPIN-UFCG # > # * Integrante do projeto OurGrid # > # Fones: (83)88246910 / 32358355 # > # 33333453 # > > > > ------------------------------------------------------- > SF.Net email is sponsored by: > Tame your development challenges with Apache's Geronimo App Server. > Download > it for free - -and be entered to win a 42" plasma tv or your very own > Sony(tm)PSP. Click here to play: http://sourceforge.net/geronimo.php > _______________________________________________ > Smartfrog-developer mailing list > Smartfrog-developer-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org > https://lists.sourceforge.net/lists/listinfo/smartfrog-developer ------------------------------------------------------- SF.Net email is sponsored by: Tame your development challenges with Apache's Geronimo App Server. Download it for free - -and be entered to win a 42" plasma tv or your very own Sony(tm)PSP. Click here to play: http://sourceforge.net/geronimo.php