--- nfo/perl/scripts/outlook2ldap/libs/Torus/Core.pm 2003/01/19 03:35:25 1.3 +++ nfo/perl/scripts/outlook2ldap/libs/Torus/Core.pm 2003/01/20 16:18:02 1.4 @@ -1,37 +1,54 @@ ## ------------------------------------------------------------------------ -## $Id: Core.pm,v 1.3 2003/01/19 03:35:25 joko Exp $ +## $Id: Core.pm,v 1.4 2003/01/20 16:18:02 joko Exp $ ## ------------------------------------------------------------------------ ## $Log: Core.pm,v $ +## Revision 1.4 2003/01/20 16:18:02 joko +## + connect to mapi via 'my $mapiLocator = Data::Storage::Locator->new( ... )' +## ## Revision 1.3 2003/01/19 03:35:25 joko ## + added cvs-header -## ## ------------------------------------------------------------------------ package Torus::Core; +use strict; +use warnings; + +=pod use base qw( DesignPattern::Object DesignPattern::Object::Logger ); +=cut + +use mixin::with qw( Torus ); -use strict; -use warnings; use Data::Dumper; -use loadConfig; use Data::Storage; use Data::Storage::Locator; use Data::Transfer::Sync; -my $logger = Log::Dispatch::Config->instance; +# get logger instance +my $logger = Log::Dispatch::Config->instance; -my $DEBUGLEVEL = $config->get("debug_level"); -my $TRACELEVEL = $config->get("trace_level"); +my $DEBUGLEVEL; +my $TRACELEVEL; my $bool_started; +sub initDebugLevel { + my $self = shift; + + $DEBUGLEVEL = $self->{config}->get("debug_level"); + $TRACELEVEL = $self->{config}->get("trace_level"); + + } + + + sub addItem { @@ -71,41 +88,69 @@ my $self = shift; my $opts = shift; +#print Dumper($self); + #print Dumper($opts); #exit; - my $host = $config->get("ldapserver_host"); - my $binddn = $config->get("ldapserver_binddn"); - my $pass = $config->get("ldapserver_pass"); - my $basedn = $config->get("ldapserver_basedn"); + my $host = $self->{config}->get("ldapserver_host"); + my $binddn = $self->{config}->get("ldapserver_binddn"); + my $pass = $self->{config}->get("ldapserver_pass"); + my $basedn = $self->{config}->get("ldapserver_basedn"); my $dsn = "ldap:host=$host;binddn='$binddn';pass=$pass"; - $logger->info(__PACKAGE__ . "->startSync: using dsn: $dsn"); + $logger->notice(__PACKAGE__ . "->startSync: using dsn: $dsn"); - my $ldapLocator = Data::Storage::Locator->new( - ldap => { - type => "NetLDAP", -# dsn => "ldap:host=192.168.1.56;binddn='cn=root, dc=labnet, dc=de';pass=Geheim", -# dsn => "ldap:host=192.168.10.150;binddn='cn=root, o=netfrag.org, c=de';pass=secret", - dsn => $dsn, -# basedn => "o=netfrag.org, c=de", - basedn => $basedn, - #schema => 'BizWorks::BackendDbSchema', - #classnames => [qw( SystemEvent LangText )], - #classnames => [qw( SystemEvent Person Address LangText )], - #test_availability => 1, - #test_integrity => 1, - #test_emptyness => 1, - # TODO: re-enable this! (multiple-target-logging!) - #logger => 1, - want_transactions => 0, - syncable => 1, - }, - ); - my $ldapStorage = Data::Storage->new($ldapLocator); - $ldapStorage->connect(); - - my $mapiStorage; + # connect to LDAP + my $ldapLocator = Data::Storage::Locator->new( + ldap => { + type => "NetLDAP", + #dsn => "ldap:host=192.168.1.56;binddn='cn=root, dc=labnet, dc=de';pass=Geheim", + #dsn => "ldap:host=192.168.10.150;binddn='cn=root, o=netfrag.org, c=de';pass=secret", + dsn => $dsn, + #basedn => "o=netfrag.org, c=de", + basedn => $basedn, + #schema => 'BizWorks::BackendDbSchema', + #classnames => [qw( SystemEvent LangText )], + #classnames => [qw( SystemEvent Person Address LangText )], + #test_availability => 1, + #test_integrity => 1, + #test_emptyness => 1, + # TODO: re-enable this! (multiple-target-logging!) + #logger => 1, + want_transactions => 0, + syncable => 1, + }, + ); + my $ldapStorage = Data::Storage->new($ldapLocator); + $ldapStorage->connect(); + + # connect to MAPI + my $mapiLocator = Data::Storage::Locator->new( + outlook => { + type => "MAPI", + #dsn => "ldap:host=192.168.1.56;binddn='cn=root, dc=labnet, dc=de';pass=Geheim", + #dsn => "ldap:host=192.168.10.150;binddn='cn=root, o=netfrag.org, c=de';pass=secret", + #dsn => $dsn, + #basedn => "o=netfrag.org, c=de", + #basedn => $basedn, + #schema => 'BizWorks::BackendDbSchema', + #classnames => [qw( SystemEvent LangText )], + #classnames => [qw( SystemEvent Person Address LangText )], + #test_availability => 1, + #test_integrity => 1, + #test_emptyness => 1, + # TODO: re-enable this! (multiple-target-logging!) + #logger => 1, + #want_transactions => 0, + syncable => 1, + showProfileChooser => $self->{config}->get("mapi_showProfileChooser"), + ProfileName => $self->{config}->get("mapi_ProfileName"), + ProfilePass => $self->{config}->get("mapi_ProfilePass"), + }, + ); + my $mapiStorage = Data::Storage->new($mapiLocator); + $mapiStorage->connect(); # create a new synchronization object @@ -154,12 +199,15 @@ ); # patch options - $opts->{source} = "L:$opts->{source_node}" if $opts->{source_node}; - $opts->{target} = "R:$opts->{target_node}" if $opts->{target_node}; + #$opts->{source} = "L:$opts->{source_node}" if $opts->{source_node}; + #$opts->{target} = "R:$opts->{target_node}" if $opts->{target_node}; #print Dumper($opts); - $sync->syncNodes($opts); +# $sync->syncNodes($opts); + $sync->syncNodes(); + + #$mapiStorage->disconnect(); }