song has asked for the wisdom of the Perl Monks concerning the following question:
hi all, I am doing some configuration to deploy Lemonldap::NG,but there is some question confused me.
## @file # Main portal for Lemonldap::NG portal ## @class # Main portal for Lemonldap::NG portal package Lemonldap::NG::Portal::SharedConf; use strict; use Lemonldap::NG::Portal::Simple qw(:all); use Lemonldap::NG::Common::Conf; #link protected lmConf Con +figuration use Lemonldap::NG::Common::Conf::Constants; #inherits use Regexp::Assemble; use URI::Split qw(uri_split); *EXPORT_OK = *Lemonldap::NG::Portal::Simple::EXPORT_OK; *EXPORT_TAGS = *Lemonldap::NG::Portal::Simple::EXPORT_TAGS; *EXPORT = *Lemonldap::NG::Portal::Simple::EXPORT; our $VERSION = '1.9.1'; use base qw(Lemonldap::NG::Portal::Simple); our $confCached; BEGIN { eval { require threads::shared; threads::shared::share($confCached); }; } ################## # OVERLOADED SUB # ################## ## @method protected boolean getConf(hashRef args) # Copy all parameters returned by the Lemonldap::NG::Common::Conf obje +ct in $self. # @param args hash # @return True sub getConf { my $self = shift; my %args; if ( ref( $_[0] ) ) { %args = %{ $_[0] }; } else { %args = @_; } if ( defined( $args{configStorage} ) ) { $self->{configStorage} = $args{configStorage}; } my $num; my $lConf; # If useLocalConf is set, just verify that current conf has the sa +me number # than local cache one if ( $confCached and $confCached->{useLocalConf} ) { $lConf = $self->__lmConf->getLocalConf(PORTALSECTION); eval { $num = $lConf->{cfgNum} }; } else { $num = $self->__lmConf->lastCfg(); } # Reload configuration unless ( $confCached and $confCached->{cfgNum} == $num ) { $lConf ||= $self->__lmConf->getLocalConf(PORTALSECTION); my $prm = { cfgNum => $num }; if ( $args{useLocalConf} or $lConf->{useLocalConf} ) { $prm->{local} = 1; $self->lmLog( 'useLocalConf set to true', 'debug' ); } my $gConf = $self->__lmConf->getConf($prm); unless ( ref($gConf) and ref($lConf) ) { $self->abort( "Cannot get configuration", $Lemonldap::NG::Common::Conf::msg ); } $self->lmLog( "Cached configuration too old, get configuration $num " . "($Lemonldap::NG::Common::Conf::msg)", 'debug' ); %$confCached = ( %$gConf, %$lConf ); my $re = Regexp::Assemble->new(); foreach my $vhost ( keys %{ $confCached->{locationRules} } ) { my $quotedVhost = quotemeta($vhost); $self->lmLog( "Vhost $vhost added in reVHosts", 'debug' ); $re->add($quotedVhost); # Add aliases if ( $confCached->{vhostOptions}->{$vhost}->{vhostAliases} + ) { foreach my $alias ( split /\s+/, $confCached->{vhostOptions}->{$vhost}->{vhostAlias +es} ) { $self->lmLog( "Alias $alias added in reVHosts", 'd +ebug' ); $re->add( quotemeta($alias) ); } } } # Add portal vhost my ( $portal_scheme, $portal_auth ) = uri_split( $confCached->{portal} ); $re->add($portal_auth); $self->lmLog( "Portal vhost $portal_auth added in reVHosts", ' +debug' ); $confCached->{reVHosts} = $re->as_string; } %$self = ( %$self, %$confCached, %args, ); $self->lmLog( "Now using configuration: " . $confCached->{cfgNum}, 'debug' ); 1; } sub __lmConf { my $self = shift; return $self->{lmConf} if ( $self->{lmConf} ); my $r = Lemonldap::NG::Common::Conf->new( $self->{configStorage} ) +; $self->abort( "Cannot create configuration object", $Lemonldap::NG::Common::Conf::msg ) unless ( ref($r) ); $self->{lmConf} = $r; }
its SYNOPSIS like below, but I can't find the new method in the code, is that inherits from the parent ? thanks a lot. here is the source code repo:https://forge.ow2.org/project/download.php?group_id=274&file_id=21538
use Lemonldap::NG::Portal::SharedConf; my $portal = new Lemonldap::NG::Portal::SharedConf( { configStorage => { type => 'DBI', dbiChain => "dbi:mysql:...", dbiUser => "lemonldap", dbiPassword => "password", dbiTable => "lmConfig", }, # Activate SOAP service Soap => 1 } );
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: no New method in Lemonldap::NG::Portal::SharedConf module
by haukex (Archbishop) on Feb 04, 2017 at 13:06 UTC | |
by song (Initiate) on Feb 04, 2017 at 14:01 UTC |