Store reverse tree (#575)
This commit is contained in:
parent
33663e99e8
commit
ca61a9631d
|
@ -20,6 +20,7 @@ has managerAttributesFile => ( isa => 'Str', is => 'ro', required => 1 );
|
|||
has defaultValuesFile => ( isa => 'Str', is => 'ro', required => 1 );
|
||||
has confConstantsFile => ( isa => 'Str', is => 'ro', required => 1 );
|
||||
has firstLmConfFile => ( isa => 'Str', is => 'ro', required => 1 );
|
||||
has reverseTreeFile => ( isa => 'Str', is => 'ro', required => 1 );
|
||||
|
||||
my @managerAttrKeys = qw(keyTest keyMsgFail select type test msgFail default);
|
||||
my $format = 'Creating %-69s: ';
|
||||
|
@ -364,6 +365,13 @@ $managerAttr}
|
|||
print STDERR "done\n";
|
||||
|
||||
$self->buildZeroConf();
|
||||
|
||||
printf STDERR $format, $self->reverseTreeFile;
|
||||
open( F, ">", $self->reverseTreeFile ) or die($!);
|
||||
$jsonEnc->pretty(0);
|
||||
print F $jsonEnc->encode($self->reverseScan(Lemonldap::NG::Manager::Build::Tree::tree(),'',{}));
|
||||
close F;
|
||||
print STDERR "done\n";
|
||||
}
|
||||
|
||||
sub buildZeroConf {
|
||||
|
@ -554,6 +562,24 @@ sub scanLeaf1 {
|
|||
return @res;
|
||||
}
|
||||
|
||||
sub reverseScan {
|
||||
my ( $self, $tree, $path, $res ) = @_;
|
||||
foreach my $elem ( @$tree ) {
|
||||
$elem =~ s/^\*//;
|
||||
if ( ref($elem) eq 'HASH' ) {
|
||||
foreach (qw(nodes nodes_cond group)) {
|
||||
$self->reverseScan($elem->{$_}, "$path$elem->{title}/", $res) if($elem->{$_});
|
||||
}
|
||||
}
|
||||
else {
|
||||
my $tmp = $path;
|
||||
$tmp =~ s#/$##;
|
||||
$res->{$elem} = $tmp;
|
||||
}
|
||||
}
|
||||
return $res;
|
||||
}
|
||||
|
||||
1;
|
||||
__END__
|
||||
|
||||
|
@ -575,6 +601,7 @@ system.
|
|||
managerAttributesFile => 'lib/Lemonldap/NG/Manager/Attributes.pm',
|
||||
defaultValuesFile => "lib/Lemonldap/NG/Common/Conf/DefaultValues.pm",
|
||||
firstLmConfFile => "_example/conf/lmConf-1.js",
|
||||
reverseTreeFile => "site/static/reverseTree.json",
|
||||
);
|
||||
|
||||
=head1 DESCRIPTION
|
||||
|
|
1
lemonldap-ng-manager/site/static/reverseTree.json
Normal file
1
lemonldap-ng-manager/site/static/reverseTree.json
Normal file
File diff suppressed because one or more lines are too long
|
@ -10,5 +10,6 @@ Lemonldap::NG::Manager::Build->run(
|
|||
defaultValuesFile => 'lemonldap-ng-common/lib/Lemonldap/NG/Common/Conf/DefaultValues.pm',
|
||||
confConstantsFile => 'lemonldap-ng-common/lib/Lemonldap/NG/Common/Conf/Constants.pm',
|
||||
firstLmConfFile => '_example/conf/lmConf-1.js',
|
||||
reverseTreeFile => 'lemonldap-ng-manager/site/static/reverseTree.json',
|
||||
);
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user