/[cvs]/nfo/perl/libs/Data/Storage/Handler/NetLDAP/Extensions.pm
ViewVC logotype

Contents of /nfo/perl/libs/Data/Storage/Handler/NetLDAP/Extensions.pm

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.1 - (show annotations)
Mon Jan 20 16:47:08 2003 UTC (21 years, 5 months ago) by joko
Branch: MAIN
CVS Tags: HEAD
+ initial check-in: refactored from code in Torus::Driver::ldap and/or Data::Storage::Handler::NetLDAP

1 ## ------------------------------------------------------------------------
2 ## $Id$
3 ## ------------------------------------------------------------------------
4 ## $Log$
5 ## ------------------------------------------------------------------------
6
7
8 package Data::Storage::Handler::NetLDAP::Extensions;
9
10 use strict;
11 use warnings;
12
13 use mixin::with qw( Data::Storage::Handler::NetLDAP );
14
15
16 use Data::Dumper;
17 use Net::LDAP;
18 use Net::LDAP::Entry;
19
20 # get logger instance
21 my $logger = Log::Dispatch::Config->instance;
22
23
24 sub createDn {
25
26 my $self = shift;
27
28 my $identifierDn = shift;
29
30 $logger->info( __PACKAGE__ . "->createDn: " . $identifierDn->getContent() );
31
32 #print Dumper($identifierDn);
33
34 =pod
35 my $dn = shift;
36
37 print "orig-dn: $dn", "\n";
38
39 $dn =~ m/ou=([\w|\.]+?)[,|].*/;
40 my $ou = $1;
41 #print "ou: '$ou'", "\n";
42
43 my $basedn = $dn;
44 $basedn =~ s/ou=$ou, //;
45 #print "basedn: $basedn", "\n";
46 #exit;
47 =cut
48
49 #print "checking ou: (basedn='$basedn', ou='$ou')", "\n" if $DEBUGLEVEL > 3;
50 #my $basedn = $self->{options}->{
51 #my $basedn = "abc";
52
53 return $self->_createDn($identifierDn);
54
55 }
56
57 sub _createDn {
58 my $self = shift;
59 #my $dn = shift;
60 #my $ou = shift;
61 my $identifierDn = shift;
62
63 my $dn = $identifierDn->asString();
64
65 my $DNs = $identifierDn->getAllRelativeDNs();
66
67 #print Dumper($DNs);
68 #exit;
69
70 my $core = $self->getCOREHANDLE();
71
72 foreach my $dnItem (@$DNs) {
73
74 #print Dumper($dnItem);
75
76 my $entry = Net::LDAP::Entry->new();
77 $entry->dn($dnItem->{full});
78
79 $entry->add(
80 $identifierDn->getType() => $dnItem->{name},
81 objectClass => $identifierDn->getClassName(),
82 );
83
84 #print Dumper($identifierDn);
85 #print Dumper($entry);
86
87 my $result = $entry->update($core);
88
89 }
90
91 #return $result;
92 #return $dn;
93
94 return 1;
95
96 }
97
98 1;

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