Re: [classad-users] ClassAd Transform?


Date: Tue, 27 Jul 2004 10:49:43 -0500 (CDT)
From: Rajesh Raman <dr_rajesh_raman@xxxxxxxxx>
Subject: Re: [classad-users] ClassAd Transform?
It's been a while, but I think you can:
  ad->Insert(ATTR_FOO, Literal::MakeLiteral(foo_value))

++Rajesh

--- Matthew Farrellee <matt@xxxxxxxxxxx> wrote:

> Alain,
> 
> Is there a quick method for evaluating a bunch of attributes and 
> plugging them into a new ClassAd? I am skimming the API and evaluation 
> (i.e. EvaluateAttr) always seems to result in a Value, which then has 
> to be inspected (i.e. find out if IsBooleanValue should be called or if 
> IsClassAdValue should be called...) before it can be inserted into a 
> new ClassAd. is there a simpler way, such as an Insert call on ClassAd 
> that takes a Value instead of an ExprTree?
> 
> 
> matt
> 
> On Jun 2, 2004, at 4:01 PM, Alain Roy wrote:
> 
> > Matthew Farrellee wrote:
> >> How easily would it be for me to use the new ClassAd library to take 
> >> an
> >> input ClassAd I, a "tranform" ClassAd T, and produce an output ClassAd
> >> O? For example:
> >>
> >> I: [A = 2; B = 3;]
> >> T: [A = $(A); B = $(B); C = $(A) * $(B);]
> >> O: [A = 2; B = 3; C = 6;]
> >>
> >> Is this a job for CAFL?
> >
> > There is no easy, automatic way to do this with the new ClassAd 
> > library. CAFL may be appropriate.
> >
> > One way to do it is to set up a big ClassAd like this:
> >
> > [
> >   input = 0;
> >   template = 0;
> > ]
> >
> > Then when you know the input and template, substitute them. They won't 
> > have $ in them, but would look something like this:
> >
> > [
> >   input = [A = 2; B = 3;]
> >   template = [A = input.A; B = input.B; C = input.A * input.C;
> > ]
> >
> > Then iterate through the template (using the STL-like functions 
> > begin() and end() and evaluate each expression, and create a new 
> > ClassAd.
> >
> > -alain
> 
> Condor Classads Info:
> http://www.cs.wisc.edu/condor/classad/
> 
> 



		
__________________________________
Do you Yahoo!?
Take Yahoo! Mail with you! Get it on your mobile phone.
http://mobile.yahoo.com/maildemo 
Condor Classads Info:
http://www.cs.wisc.edu/condor/classad/



[← Prev in Thread] Current Thread [Next in Thread→]