commons-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Nestor Urquiza <nest...@yahoo.com>
Subject Re: [scxml] SCXMLExecutor#getSCInstance ... any chance to make it public?
Date Thu, 20 Apr 2006 10:48:26 GMT
I just posted in another thread [1] my use case.
Basically I will add point 4 to your list:

4. A jexl method invocation will need to have in the
context an object instance to be used.

Just to be clear with my usecase:

The http-call comes, then I instantiate a Service
instance that holds an Executor per session. This
Service Instance class is supposed to insert itself in
the exec context because the class has (for example in
my case) a boolean method that will execute all
specific tasks and return true upon success and the
method will be used by jexl parser to evaluate a
post-condition.

Thanks,
Nestor
[1] [SCXML] patterns for bridging 
--- Fasih <fasihullah.askiri@baypackets.com> wrote:

> I see, in my use-case there are multiple SCXML docs
> and multiple Executors, 
> that's why the confusion. Anyways, so, you have one
> SCXML doc which is 
> traversed/executed by multiple execs. These execs
> try to insert some data in 
> the scInstance's or their own rootContext so that it
> can be evaluated by 
> SCXML.
> 
> I know of two points where a user code is called.
> 1. Initialisation: Here you have a handle to
> rootContext as well as Exec. I 
> mean this is the point you do exec.setRootContext()
> so, you wouldnt need the 
> scIntance to get the root context
> 2. As a state-transition in a custom action: Here
> you get scInstance as an 
> argument.
> 3. As a state-event notified through SCXML Listener.
> 
> What is your use-case, where does your code come in?
> I am not sure if I will 
> be able to help. But it would be helpful to others
> to know the various 
> use-cases it can be used in.
> 
> +Fasih
> 
> ----- Original Message ----- 
> From: "Nestor Urquiza" <nestoru@yahoo.com>
> To: "Jakarta Commons Users List"
> <commons-user@jakarta.apache.org>
> Sent: Wednesday, April 19, 2006 8:08 PM
> Subject: Re: [scxml] SCXMLExecutor#getSCInstance ...
> any chance to make it 
> public?
> 
> 
> >I am afraid it does not do what I want.
> > I have only one SCXML object (doc) for my whole
> > application but several Executors (exec).
> > The code below is adding data to the doc instead
> of
> > adding data to the root context (rootCtx) that is
> > unique per Executor.
> > Take a look at [1] below and you will see what I
> mean
> > ... I am just trying to make my code able to set
> > variables that can be tested in conditions
> (guards)
> > within the sxcml file for example:
> >
> > Context context = new ELContext();
> >   // Say we have an instance 'foo' of type Foo
> which
> >   // has a property 'bar' of type String
> >   context.set("foo", foo);
> >
> > for the statement --> Evaluator evaluator = new
> > ELEvaluator(); in the scxml we could have:
> > <if cond="${foo.bar eq barString}");
> >
> > for the statement --> Evaluator evaluator = new
> > JexlEvaluator(); in the scxml we could have:
> > <if cond="foo.bar eq barString");
> >
> > and in both cases the condition will be true only
> if
> > (foo.bar=="barString")
> >
> > Hope now in clearer ... or still I am missing
> > something???
> >
> > Thanks a lot!
> >
> > --- Fasih <fasihullah.askiri@baypackets.com>
> wrote:
> >
> >> Sorry,
> >> I removed a few lines from the code.
> >> Let me re-paste the snippet, as is in my code:
> >>
> >>  exec = new SCXMLExecutor(evaluator, ed, trc);
> >>   exec.addListener(doc, trc);
> >>   exec.setSuperStep(true);
> >>   exec.setRootContext(rootCtx);
> >>   exec.setStateMachine(doc);
> >>   Data scenarioData = new Data();
> >>   scenarioData.setName(SCENARIO_ID_PARAM);
> >>   scenarioData.setExpr("'"+id+"'");
> >>   doc.getDatamodel().addData(scenarioData);
> >>
> >> If I understand you correctly, the line
> >> exec.setStateMachine(doc); does the
> >> trick you are looking for!
> >>
> >> By the way, you can look at the code from SVN. I
> >> couldn't find much
> >> documentation, the code itself is the best guide.
> >>
> >> +Fasih
> >>
> >> ----- Original Message ----- 
> >> From: "Nestor Urquiza" <nestoru@yahoo.com>
> >> To: "Jakarta Commons Users List"
> >> <commons-user@jakarta.apache.org>
> >> Sent: Wednesday, April 19, 2006 5:41 PM
> >> Subject: Re: [scxml] SCXMLExecutor#getSCInstance
> ...
> >> any chance to make it
> >> public?
> >>
> >>
> >> > Hey thanks for replying,
> >> > I see your code is adding data to data model
> which
> >> is
> >> > related to the SCXML object. However I think I
> do
> >> not
> >> > understand how this map to the specific
> Executor.
> >> In
> >> > other words I am trying to set within my
> specific
> >> code
> >> > variables that are in the root context which in
> >> turns
> >> > is defined in a per Executor basis and not in a
> >> per
> >> > SCXML instance.
> >> > Could you please be more explicit or point me
> to a
> >> > place in the documentation where this is
> >> explained?
> >> > From [1] I see that variables to be used within
> >> the
> >> > scxml file are supposed to be handled thru a
> >> Context
> >> > instance.
> >> > Thanks a lot,
> >> > Nestor
> >> >
> >>
> >
>
[1]http://jakarta.apache.org/commons/sandbox/scxml/api-notes/side-effect-el.html
> >> >
> >> > --- Fasih <fasihullah.askiri@baypackets.com>
> >> wrote:
> >> >
> >> >> Yup,
> >> >> I have done exactly the same thing
> >> >>
> >> >> exec = new SCXMLExecutor(evaluator, ed, trc);
> >> >>   Data scenarioData = new Data();
> >> >>   scenarioData.setName(SCENARIO_ID_PARAM);
> >> >>   scenarioData.setExpr("'"+id+"'");
> >> >>   doc.getDatamodel().addData(scenarioData);
> >> >>
> >> >> I guess that should answer your question.
> >> >>
> >> >> +Fasih
> >> >>
> >> >> ----- Original Message ----- 
> >> >> From: "Nestor Urquiza" <nestoru@yahoo.com>
> >> >> To: "Jakarta Commons Users List"
> >> >> <commons-user@jakarta.apache.org>
> >> >> Sent: Wednesday, April 19, 2006 5:03 PM
> >> >> Subject: [scxml] SCXMLExecutor#getSCInstance
> ...
> >> any
> >> >> chance to make it
> >> >> public?
> >> >>
> >> >>
> >> >> > Hello,
> >> >> > I am planning to store just the
> SCXMLExecutor
> >> in a
> >> >> per
> >> >> > session basis. Then of course I need to have
> >> >> access
> >> >> > from my "bridge" to
> SCInstance#getRootContext
> >> to
> >> >> > obtain the context needed to set variables
> from
> >> my
> >> >> > specific-code.
> >> >> > The problem is right now the
> >> >> > SCXMLExecutor#getSCInstance has package
> access
> >> >> > Can we make it public? Or there is a better
> way
> >> to
> >> >> > accomplish what I am trying to do???
> >> >> > Thanks a lot!
> >> >> >
> >> >> >
> >>
> __________________________________________________
> >> >> > Do You Yahoo!?
> >> >> > Tired of spam?  Yahoo! Mail has the best
> spam
> >> >> protection around
> >> >> > http://mail.yahoo.com
> >> >> >
> >> >> >
> >> >>
> >> >
> >>
> >
>
---------------------------------------------------------------------
> >> >> > To unsubscribe, e-mail:
> >> >> commons-user-unsubscribe@jakarta.apache.org
> >> >> > For additional commands, e-mail:
> >> >> commons-user-help@jakarta.apache.org
> >> >> >
> >> >> >
> >> >>
> >> >>
> >> >>
> >> >>
> >> >
> >>
> >
>
---------------------------------------------------------------------
> >> >> To unsubscribe, e-mail:
> >> >> commons-user-unsubscribe@jakarta.apache.org
> >> >> For additional commands, e-mail:
> >> >> commons-user-help@jakarta.apache.org
> >> >>
> >> >>
> >> >
> >> >
> >> >
> __________________________________________________
> >> > Do You Yahoo!?
> >> > Tired of spam?  Yahoo! Mail has the best spam
> >> protection around
> >> > http://mail.yahoo.com
> >> >
> >> >
> >>
> >
>
---------------------------------------------------------------------
> >> > To unsubscribe, e-mail:
> >> commons-user-unsubscribe@jakarta.apache.org
> >> > For additional commands, e-mail:
> >> commons-user-help@jakarta.apache.org
> >> >
> >> >
> >>
> >>
> >>
> >>
> >>
> >
>
---------------------------------------------------------------------
> >> To unsubscribe, e-mail:
> >> commons-user-unsubscribe@jakarta.apache.org
> >> For additional commands, e-mail:
> >> commons-user-help@jakarta.apache.org
> >>
> >>
> >
> >
> > __________________________________________________
> > Do You Yahoo!?
> > Tired of spam?  Yahoo! Mail has the best spam
> protection around
> > http://mail.yahoo.com
> >
> >
>
---------------------------------------------------------------------
> > To unsubscribe, e-mail:
> commons-user-unsubscribe@jakarta.apache.org
> > For additional commands, e-mail:
> commons-user-help@jakarta.apache.org
> >
> > 
> 
> 
> 
> 
>
---------------------------------------------------------------------
> To unsubscribe, e-mail:
> commons-user-unsubscribe@jakarta.apache.org
> For additional commands, e-mail:
> commons-user-help@jakarta.apache.org
> 
> 


__________________________________________________
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 
http://mail.yahoo.com 

---------------------------------------------------------------------
To unsubscribe, e-mail: commons-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: commons-user-help@jakarta.apache.org


Mime
View raw message