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