package RWDE::Configuration_content; use strict; use Error qw(:try); use YAML qw(LoadFile); use RWDE::Exceptions; use base qw(RWDE::RObject); our (@fieldnames, %fields, %static_fields, %modifiable_fields, @static_fieldnames, @modifiable_fieldnames); use vars qw($VERSION); $VERSION = sprintf "%d", q$Revision: 561 $ =~ /(\d+)/; =pod =head1 RWDE::Configuration_content =cut =head2 initialize() Create a RWDE object and populate it with the project configuration content. =cut sub initialize { my ($self, $params) = @_; # where the config file lives. if (not defined $$params{config_file}){ throw RWDE::DevelException({ info => "Config file not specified for loading" }); } my %conf = %{ LoadFile($$params{config_file}) }; $self->{_data} = $conf{Service}; foreach my $field (keys %{ $conf{Service} }) { $static_fields{$field} = [ 'char', 'Configuration parameter' ]; } %modifiable_fields = (); %fields = (%static_fields, %modifiable_fields); @static_fieldnames = sort keys %static_fields; @modifiable_fieldnames = sort keys %modifiable_fields; @fieldnames = sort keys %fields; return (); } 1;