--- nfo/perl/libs/Data/Storage/Handler/Tangram.pm 2002/12/19 16:31:53 1.23 +++ nfo/perl/libs/Data/Storage/Handler/Tangram.pm 2003/01/30 22:29:47 1.26 @@ -1,8 +1,17 @@ ############################################ # -# $Id: Tangram.pm,v 1.23 2002/12/19 16:31:53 joko Exp $ +# $Id: Tangram.pm,v 1.26 2003/01/30 22:29:47 joko Exp $ # # $Log: Tangram.pm,v $ +# Revision 1.26 2003/01/30 22:29:47 joko +# + fixed module usage (removed dependency on 'libp.pm') +# +# Revision 1.25 2003/01/19 02:30:05 joko +# + fix: modified call to '_initSchema' +# +# Revision 1.24 2002/12/22 14:13:01 joko +# + sub dropDb +# # Revision 1.23 2002/12/19 16:31:53 joko # +- renamed sub to 'rebuildDb' # @@ -104,13 +113,12 @@ use Tangram; use Data::Dumper; -use libp qw( getNewPerlObjectByPkgName ); +use DesignPattern::Object; use Data::Storage::Result::Tangram; use Data::Compare::Struct qw( isEmpty ); use Data::Transform::Deep qw( object2hash ); use Data::Transform::Encode qw( var2utf8 ); - # get logger instance my $logger = Log::Dispatch::Config->instance; @@ -130,7 +138,8 @@ my $self = shift; $logger->debug( __PACKAGE__ . "->_initSchema()" ); #if (!$schema_tangram) { - my $obj = getNewPerlObjectByPkgName($self->{locator}->{schema}, { EXPORT_OBJECTS => $self->{locator}->{classnames}, want_transactions => $self->{locator}->{want_transactions} } ); + #my $obj = getNewPerlObjectByPkgName($self->{locator}->{schema}, { EXPORT_OBJECTS => $self->{locator}->{classnames}, want_transactions => $self->{locator}->{want_transactions} } ); + my $obj = DesignPattern::Object->fromPackage($self->{locator}->{schema}, { 'EXPORT_OBJECTS' => $self->{locator}->{classnames}, 'want_transactions' => $self->{locator}->{want_transactions} } ); $schema_tangram = $obj->getSchema(); #} if (!$schema_tangram) { @@ -163,8 +172,12 @@ my $self = shift; my $dsn = shift; + +#print Dumper($self); +#exit; + + # TODO: re-enable $dsn ||= $self->{locator}->{dbi}->{dsn}; - $logger->debug( __PACKAGE__ . "->connect( dsn $dsn )" ); #my $storage = Tangram::Relational->connect( $schema, $dsn ); @@ -176,7 +189,8 @@ # return; # } - return unless $self->_initSchema(); + #return unless $self->_initSchema(); + $self->_initSchema(); # create the main tangram storage object #$self->{COREHANDLE} = Tangram::Relational->connect( $schema, $dsn ); @@ -303,6 +317,8 @@ $logger->debug( __PACKAGE__ . "->configureCOREHANDLE" ); #my $subLayer = $self->_getSubLayerHandle(); + #print Dumper($self); + #exit; # apply configured modifications if (exists $self->{dbi}->{trace_level} && exists $self->{dbi}->{trace_file}) { @@ -645,4 +661,17 @@ return $self->{_COREHANDLE}; } +sub dropDb { + my $self = shift; + my $storage = $self->_getSubLayerHandle(); + return $storage->dropDb(); +} + +sub testAvailability { + my $self = shift; + my $storage = $self->_getSubLayerHandle(); + return $storage->testAvailability(); +} + 1; +__END__