Browse Source

Bug 13506: Remove unused Sip/Configuration Classes

Sip::Configuration calls new on Account, Institution and Service
classes but does not store or subsequently use the returned objects
( which immediately go out of scope ). Their existence just obscures
the code and misleads the reader. Remobe them

Removed redundant commented out code from Configyration module which
was not serving any useful purpose

Ran Configuration.pm through perltidy to make layout more
consistent

Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
3.20.x
Colin Campbell 8 years ago
committed by Tomas Cohen Arazi
parent
commit
5568f55a6c
  1. 82
      C4/SIP/Sip/Configuration.pm
  2. 38
      C4/SIP/Sip/Configuration/Account.pm
  3. 58
      C4/SIP/Sip/Configuration/Institution.pm
  4. 23
      C4/SIP/Sip/Configuration/Service.pm

82
C4/SIP/Sip/Configuration.pm

@ -1,4 +1,4 @@
#
#
# parse-config: Parse an XML-format
# ACS configuration file and build the configuration
# structure.
@ -10,47 +10,41 @@ use strict;
use warnings;
use XML::Simple qw(:strict);
use C4::SIP::Sip::Configuration::Institution;
use C4::SIP::Sip::Configuration::Account;
use C4::SIP::Sip::Configuration::Service;
my $parser = new XML::Simple( KeyAttr => { login => '+id',
institution => '+id',
service => '+port' },
GroupTags => { listeners => 'service',
accounts => 'login',
institutions => 'institution', },
ForceArray=> [ 'service',
'login',
'institution' ],
ValueAttr => { 'error-detect' => 'enabled',
'min_servers' => 'value',
'max_servers' => 'value'} );
my $parser = new XML::Simple(
KeyAttr => {
login => '+id',
institution => '+id',
service => '+port'
},
GroupTags => {
listeners => 'service',
accounts => 'login',
institutions => 'institution',
},
ForceArray => [ 'service', 'login', 'institution' ],
ValueAttr => {
'error-detect' => 'enabled',
'min_servers' => 'value',
'max_servers' => 'value'
}
);
sub new {
my ($class, $config_file) = @_;
my ( $class, $config_file ) = @_;
my $cfg = $parser->XMLin($config_file);
my %listeners;
foreach my $acct (values %{$cfg->{accounts}}) {
C4::SIP::Sip::Configuration::Account->new( $acct );
}
# The key to the listeners hash is the 'port' component of the
# configuration, which is of the form '[host]:[port]/proto', and
# the 'proto' component could be upper-, lower-, or mixed-cased.
# Regularize it here to lower-case, and then do the same below in
# find_server() when building the keys to search the hash.
foreach my $service (values %{$cfg->{listeners}}) {
C4::SIP::Sip::Configuration::Service->new( $service );
$listeners{lc $service->{port}} = $service;
foreach my $service ( values %{ $cfg->{listeners} } ) {
$listeners{ lc $service->{port} } = $service;
}
$cfg->{listeners} = \%listeners;
foreach my $inst (values %{$cfg->{institutions}}) {
C4::SIP::Sip::Configuration::Institution->new( $inst );
}
return bless $cfg, $class;
}
@ -58,36 +52,22 @@ sub error_detect {
my $self = shift;
return $self->{'error-detect'};
}
sub accounts {
my $self = shift;
return values %{$self->{accounts}};
return values %{ $self->{accounts} };
}
# sub policy {
# my $self = shift;
# return values %{$self->{policy}};
# }
sub find_service {
my ($self, $sockaddr, $port, $proto) = @_;
my ( $self, $sockaddr, $port, $proto ) = @_;
my $portstr;
foreach my $addr ('', '*:', "$sockaddr:", "[$sockaddr]:") {
$portstr = sprintf("%s%s/%s", $addr, $port, lc $proto);
Sys::Syslog::syslog("LOG_DEBUG", "Configuration::find_service: Trying $portstr");
last if (exists(($self->{listeners})->{$portstr}));
}
foreach my $addr ( '', '*:', "$sockaddr:", "[$sockaddr]:" ) {
$portstr = sprintf( "%s%s/%s", $addr, $port, lc $proto );
Sys::Syslog::syslog( "LOG_DEBUG",
"Configuration::find_service: Trying $portstr" );
last if ( exists( ( $self->{listeners} )->{$portstr} ) );
}
return $self->{listeners}->{$portstr};
}
1;
__END__
my $config = new Sip::Configuration $ARGV[0];
foreach my $acct ($config->accounts) {
print "Found account '", $acct->name, "', part of '"
print $acct->institution, "'\n";
}
1;

38
C4/SIP/Sip/Configuration/Account.pm

@ -1,38 +0,0 @@
#
#
#
#
package C4::SIP::Sip::Configuration::Account;
use strict;
use warnings;
sub new {
my ($class, $obj) = @_;
my $type = ref($class) || $class;
if (ref($obj) eq "HASH") {
# Just bless the object
return bless $obj, $type;
}
return bless {}, $type;
}
sub id {
my $self = shift;
return $self->{id};
}
sub institution {
my $self = shift;
return $self->{institution};
}
sub password {
my $self = shift;
return $self->{password};
}
1;

58
C4/SIP/Sip/Configuration/Institution.pm

@ -1,58 +0,0 @@
#
#
#
#
package C4::SIP::Sip::Configuration::Institution;
use strict;
use warnings;
sub new {
my ($class, $obj) = @_;
my $type = ref($class) || $class;
if (ref($obj) eq "HASH") {
# Just bless the object
return bless $obj, $type;
}
return bless {}, $type;
}
sub name {
my $self = shift;
return $self->{name};
}
sub id {
my $self = shift;
return $self->{id};
}
sub implementation {
my $self = shift;
return $self->{implementation};
}
sub policy {
my $self = shift;
return $self->{policy};
}
# 'policy' => {
# 'checkout' => 'true',
# 'retries' => 5,
# 'checkin' => 'true',
# 'timeout' => 25,
# 'status_update' => 'false',
# 'offline' => 'false',
# 'renewal' => 'true'
# },
sub parms {
my $self = shift;
return $self->{parms};
}
1;

23
C4/SIP/Sip/Configuration/Service.pm

@ -1,23 +0,0 @@
#
#
#
#
package C4::SIP::Sip::Configuration::Service;
use strict;
use warnings;
sub new {
my ($class, $obj) = @_;
my $type = ref($class) || $class;
if (ref($obj) eq "HASH") {
# Just bless the object
return bless $obj, $type;
}
return bless {}, $type;
}
1;
Loading…
Cancel
Save