gnue-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [GNUe-dev] Trigger Code Split + Appserver Procedures


From: James Michael DuPont
Subject: Re: [GNUe-dev] Trigger Code Split + Appserver Procedures
Date: Tue, 11 Nov 2003 17:49:52 -0800 (PST)


--- Jan Ischebeck <address@hidden> wrote:
> About the procedure support in gnue appserver, two questions/ideas:
>    - There should be a way to describe the parameters passed to 
>      business procedures and the return value. I would say, that we 
>      can reuse the gnue_property type for that. We just have to point
> 
>      it to the procedure instead of to the class.
> 
>    - Then I would like to autogenerate repository.ini from our
> base.gsd
>      (or vice versa) as its a pain doing all changes twice.

I am  working on a pattern language in perl that will generate all the
needed GNUE stuff :

the input is like the list in the last mail,
here i create an event type out of the log pattern, with the parameters
of the event to track. Each log_pattern represents an important logged
business event that tracks who used it and where. the process function
returns a list of costs and revenues out of the transaction.

sub log_pattern # an action that is tracked by who did it and when
{
    my $action = shift;
    AddClass($repository,$action . "Event");                          
# the class called ids

    AddField($repository,'BusinessEntity',$action,
             BaseType($repository,'Event'));            # the id of a field
    DefineEvent($repository,'On' . $action ,
                {
                    Parameters => {
                        # Name         Type
                        "UsedBy"    => TypeRef($repository,"CustomerAgent"),
                        "AtTime"    => BaseType($repository,"timestamp"),
                        "Duration"    => BaseType($repository,"timerange"),
                        "AtLocation"  => TypeRef($repository,"LocationRef"),
                    },
                    Result => {
                        "Costs"        => TypeRef($repository,"Transactions"),
                        "Revenue"       => TypeRef($repository,"Transactions"),
                    }
                }
                );
}


=====
James Michael DuPont
http://introspector.sourceforge.net/

__________________________________
Do you Yahoo!?
Protect your identity with Yahoo! Mail AddressGuard
http://antispam.yahoo.com/whatsnewfree




reply via email to

[Prev in Thread] Current Thread [Next in Thread]