/[cvs]/nfo/perl/libs/Data/Rap/Property.pm
ViewVC logotype

Annotation of /nfo/perl/libs/Data/Rap/Property.pm

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.2 - (hide annotations)
Thu Feb 20 20:15:45 2003 UTC (21 years, 4 months ago) by joko
Branch: MAIN
Changes since 1.1: +15 -6 lines
modified logging style
+ property merging instead of dumb overriding

1 joko 1.1 ## ----------------------------------------------------------------------
2 joko 1.2 ## $Id: Property.pm,v 1.1 2003/02/18 15:36:20 joko Exp $
3 joko 1.1 ## ----------------------------------------------------------------------
4 joko 1.2 ## $Log: Property.pm,v $
5     ## Revision 1.1 2003/02/18 15:36:20 joko
6     ## + initial commit
7     ##
8 joko 1.1 ## ----------------------------------------------------------------------
9    
10    
11     package Data::Rap::Property;
12    
13     use strict;
14     use warnings;
15    
16    
17     use Data::Dumper;
18     use Sys::Hostname;
19     use Data::Storage::Handler::File;
20    
21    
22     sub loadGlobalProperties {
23     my $self = shift;
24    
25     # determining hostname
26     my $hostname = lc hostname;
27     $self->log("determining hostname: $hostname", 'info');
28     $self->set_property({ name => 'global.hostname', value => $hostname });
29    
30     }
31    
32     sub _property {
33     my $self = shift;
34     my $args = shift;
35     $self->set_property($args);
36     }
37    
38    
39     sub loadFromPerlFile {
40     my $self = shift;
41     my $file = shift;
42     my $name = shift;
43     my $varnames = shift;
44    
45     # FIXME
46     $file = "../$file";
47    
48 joko 1.2 $self->log("Loading resource file '$file'.", 'info');
49 joko 1.1
50     my $storage = Data::Storage::Handler::File->new( filename => $file );
51     if (!$storage->exists()) {
52 joko 1.2 $self->log("Resource not found: File '$file' does not exist.", 'error');
53 joko 1.1 return;
54     }
55     my $content = $storage->toString();
56    
57     $self->load("/Data/Code/Scalar");
58     my $properties = $self->eval($content, $varnames);
59 joko 1.2
60     #print Dumper($self);
61    
62     $self->merge_properties($name, $properties);
63 joko 1.1
64 joko 1.2 #print Dumper($self);
65 joko 1.1
66     }
67    
68     sub loadFromPerlModule {
69     my $self = shift;
70     my $module = shift;
71     my $name = shift;
72     my $varnames = shift;
73    
74 joko 1.2 $self->log("Loading Perl Module '$module'.", 'info');
75    
76 joko 1.1 $self->load("/Data/Code/Module");
77     my $properties = $self->eval_vars($module, $varnames);
78    
79     # trace
80     #print Dumper($properties);
81     #exit;
82    
83 joko 1.2 $self->merge_properties($name, $properties);
84 joko 1.1
85     }
86    
87    
88     1;
89     __END__

MailToCvsAdmin">MailToCvsAdmin
ViewVC Help
Powered by ViewVC 1.1.26 RSS 2.0 feed