cvsuser     06/01/18 06:55:58

  Modified:    App-Context/lib/App Context.pm
  Log:
  second try to get {temporary} working
  
  Revision  Changes    Path
  1.24      +7 -6      p5ee/App-Context/lib/App/Context.pm
  
  Index: Context.pm
  ===================================================================
  RCS file: /cvs/public/p5ee/App-Context/lib/App/Context.pm,v
  retrieving revision 1.23
  retrieving revision 1.24
  diff -u -r1.23 -r1.24
  --- Context.pm        8 Nov 2005 03:44:42 -0000       1.23
  +++ Context.pm        18 Jan 2006 14:55:58 -0000      1.24
  @@ -473,9 +473,10 @@
       }
   
       $new_service = 0;
  +    my $temporary = $args->{temporary};
   
       #   NEVER DEFINED     OR   NON-BLESSED HASH (fully defined services are 
blessed into classes)
  -    if (!defined $service || ref($service) eq "HASH") {
  +    if ($temporary || !defined $service || ref($service) eq "HASH") {
           $service = {} if (!defined $service);  # start with new hash ref
           $service->{name} = $name;
           $service->{context} = $self;
  @@ -546,10 +547,10 @@
       # This is really handy when you have something like a huge spreadsheet
       # of text entry cells (usually an indexed variable).
   
  -    if (defined $args->{temporary}) {            # may be specified 
implicitly
  +    if ($temporary) {                            # may be specified 
implicitly
           $lightweight = 1;
       }
  -    if (defined $args->{lightweight}) {          # may be specified 
explicitly
  +    elsif (defined $args->{lightweight}) {       # may be specified 
explicitly
           $lightweight = $args->{lightweight};
       }
       else {
  @@ -580,7 +581,7 @@
           $self->dbgprint("Context->service() new service [$name]")
               if ($App::DEBUG && $self->dbg(3));
   
  -        if (defined $service->{default}) {
  +        if (!$temporary && defined $service->{default}) {
               $default = $service->{default};
               if ($default =~ /^\{today\}\+?(-?[0-9]+)?$/) {
                   $default = time2str("%Y-%m-%d",time + 2*3600 + ($1 ? 
($1*3600*24) : 0));
  @@ -606,7 +607,7 @@
               if ($App::DEBUG && $self->dbg(3));
   
           bless $service, $class;            # bless the service into the class
  -        if (!$service->{temporary}) {
  +        if (!$temporary) {
               $session->{cache}{$type}{$name} = $service;   # save in the cache
           }
           $service->_init();               # perform additional initializations
  
  
  

Reply via email to