
marvin at rectangular
Jul 27, 2008, 10:41 AM
Post #1 of 1
(86 views)
Permalink
|
|
r3636 - in trunk/perl: lib/KinoSearch lib/KinoSearch/Analysis lib/KinoSearch/Highlight lib/KinoSearch/Index lib/KinoSearch/Search lib/KinoSearch/Test lib/KinoSearch/Test/Util lib/KinoSearch/Util lib/KinoSearch/Util/Compat t
|
|
Author: creamyg Date: 2008-07-27 10:41:24 -0700 (Sun, 27 Jul 2008) New Revision: 3636 Modified: trunk/perl/lib/KinoSearch/Analysis/PolyAnalyzer.pm trunk/perl/lib/KinoSearch/Analysis/Stopalizer.pm trunk/perl/lib/KinoSearch/Highlight/HeatMap.pm trunk/perl/lib/KinoSearch/Index/IndexFileNames.pm trunk/perl/lib/KinoSearch/Index/SegInfo.pm trunk/perl/lib/KinoSearch/Index/Snapshot.pm trunk/perl/lib/KinoSearch/InvIndexer.pm trunk/perl/lib/KinoSearch/Obj.pm trunk/perl/lib/KinoSearch/QueryParser.pm trunk/perl/lib/KinoSearch/Search/MultiSearcher.pm trunk/perl/lib/KinoSearch/Search/PhraseQuery.pm trunk/perl/lib/KinoSearch/Search/PolyQuery.pm trunk/perl/lib/KinoSearch/Search/TopDocs.pm trunk/perl/lib/KinoSearch/Test/TestQueryParser.pm trunk/perl/lib/KinoSearch/Test/TestQueryParserLogic.pm trunk/perl/lib/KinoSearch/Test/TestQueryParserSyntax.pm trunk/perl/lib/KinoSearch/Test/Util/TestCharBuf.pm trunk/perl/lib/KinoSearch/Util/CharBuf.pm trunk/perl/lib/KinoSearch/Util/Compat/DirManip.pm trunk/perl/lib/KinoSearch/Util/Json.pm trunk/perl/lib/KinoSearch/Util/Native.pm trunk/perl/lib/KinoSearch/Util/PriorityQueue.pm trunk/perl/lib/KinoSearch/Util/ToolSet.pm trunk/perl/t/015-sort_external.t trunk/perl/t/018-native.t trunk/perl/t/028-sortexrun.t trunk/perl/t/207-seg_lexicon.t trunk/perl/t/521-remote_field_doc.t Log: Move to_kino and to_perl out of Native and into ToolSet. Modified: trunk/perl/lib/KinoSearch/Analysis/PolyAnalyzer.pm =================================================================== --- trunk/perl/lib/KinoSearch/Analysis/PolyAnalyzer.pm 2008-07-27 17:08:47 UTC (rev 3635) +++ trunk/perl/lib/KinoSearch/Analysis/PolyAnalyzer.pm 2008-07-27 17:41:24 UTC (rev 3636) @@ -11,7 +11,6 @@ use KinoSearch::Analysis::LCNormalizer; use KinoSearch::Analysis::Tokenizer; use KinoSearch::Analysis::Stemmer; -use KinoSearch::Util::Native qw( to_kino ); sub new { my ( $either, %args ) = @_; Modified: trunk/perl/lib/KinoSearch/Analysis/Stopalizer.pm =================================================================== --- trunk/perl/lib/KinoSearch/Analysis/Stopalizer.pm 2008-07-27 17:08:47 UTC (rev 3635) +++ trunk/perl/lib/KinoSearch/Analysis/Stopalizer.pm 2008-07-27 17:41:24 UTC (rev 3636) @@ -4,7 +4,6 @@ package KinoSearch::Analysis::Stopalizer; use KinoSearch::Util::ToolSet; use KinoSearch::base qw( KinoSearch::Analysis::Analyzer ); -use KinoSearch::Util::Native qw( to_kino ); use Lingua::StopWords; Modified: trunk/perl/lib/KinoSearch/Highlight/HeatMap.pm =================================================================== --- trunk/perl/lib/KinoSearch/Highlight/HeatMap.pm 2008-07-27 17:08:47 UTC (rev 3635) +++ trunk/perl/lib/KinoSearch/Highlight/HeatMap.pm 2008-07-27 17:41:24 UTC (rev 3636) @@ -4,7 +4,6 @@ package KinoSearch::Highlight::HeatMap; use KinoSearch::Util::ToolSet; use KinoSearch::base qw( KinoSearch::Obj ); -use KinoSearch::Util::Native qw( to_kino to_perl ); our %instance_vars = __PACKAGE__->init_instance_vars( # members Modified: trunk/perl/lib/KinoSearch/Index/IndexFileNames.pm =================================================================== --- trunk/perl/lib/KinoSearch/Index/IndexFileNames.pm 2008-07-27 17:08:47 UTC (rev 3635) +++ trunk/perl/lib/KinoSearch/Index/IndexFileNames.pm 2008-07-27 17:41:24 UTC (rev 3636) @@ -7,7 +7,6 @@ use KinoSearch::base qw( Exporter ); use KinoSearch::Util::StringHelper qw( to_base36 from_base36 ); -use KinoSearch::Util::Native qw( to_kino ); our @EXPORT_OK = qw( read_lock_timeout Modified: trunk/perl/lib/KinoSearch/Index/SegInfo.pm =================================================================== --- trunk/perl/lib/KinoSearch/Index/SegInfo.pm 2008-07-27 17:08:47 UTC (rev 3635) +++ trunk/perl/lib/KinoSearch/Index/SegInfo.pm 2008-07-27 17:41:24 UTC (rev 3636) @@ -5,8 +5,6 @@ use KinoSearch::Util::ToolSet; use KinoSearch::base qw( KinoSearch::Obj ); -use KinoSearch::Util::Native qw( to_kino to_perl ); - sub add_metadata { my ( $self, $key, $val ) = @_; $self->_add_metadata( $key, to_kino($val) ); Modified: trunk/perl/lib/KinoSearch/Index/Snapshot.pm =================================================================== --- trunk/perl/lib/KinoSearch/Index/Snapshot.pm 2008-07-27 17:08:47 UTC (rev 3635) +++ trunk/perl/lib/KinoSearch/Index/Snapshot.pm 2008-07-27 17:41:24 UTC (rev 3636) @@ -9,7 +9,6 @@ use KinoSearch::FieldSpec; use KinoSearch::Schema; use KinoSearch::Index::IndexFileNames; -use KinoSearch::Util::Native qw( to_perl ); use KinoSearch::Util::StringHelper; use KinoSearch::Util::Json; Modified: trunk/perl/lib/KinoSearch/InvIndexer.pm =================================================================== --- trunk/perl/lib/KinoSearch/InvIndexer.pm 2008-07-27 17:08:47 UTC (rev 3635) +++ trunk/perl/lib/KinoSearch/InvIndexer.pm 2008-07-27 17:41:24 UTC (rev 3636) @@ -12,7 +12,6 @@ use KinoSearch::Index::SegWriter; use KinoSearch::Index::FilePurger; use KinoSearch::Store::LockFactory; -use KinoSearch::Util::Native qw( to_kino ); sub add_doc { confess('usage: $invindexer->add_doc($doc)') unless @_ == 2; Modified: trunk/perl/lib/KinoSearch/Obj.pm =================================================================== --- trunk/perl/lib/KinoSearch/Obj.pm 2008-07-27 17:08:47 UTC (rev 3635) +++ trunk/perl/lib/KinoSearch/Obj.pm 2008-07-27 17:41:24 UTC (rev 3636) @@ -237,7 +237,7 @@ SV* -to_perl(self) +to_pobj(self) kino_Obj *self; CODE: RETVAL = kobj_to_pobj(self); Modified: trunk/perl/lib/KinoSearch/QueryParser.pm =================================================================== --- trunk/perl/lib/KinoSearch/QueryParser.pm 2008-07-27 17:08:47 UTC (rev 3635) +++ trunk/perl/lib/KinoSearch/QueryParser.pm 2008-07-27 17:41:24 UTC (rev 3636) @@ -5,8 +5,6 @@ use KinoSearch::Util::ToolSet; use KinoSearch::base qw( KinoSearch::Obj ); -use KinoSearch::Util::Native qw( to_kino ); - use KinoSearch::Analysis::TokenBatch; use KinoSearch::Analysis::Tokenizer; use KinoSearch::Search::PhraseQuery; Modified: trunk/perl/lib/KinoSearch/Search/MultiSearcher.pm =================================================================== --- trunk/perl/lib/KinoSearch/Search/MultiSearcher.pm 2008-07-27 17:08:47 UTC (rev 3635) +++ trunk/perl/lib/KinoSearch/Search/MultiSearcher.pm 2008-07-27 17:41:24 UTC (rev 3636) @@ -6,7 +6,6 @@ use KinoSearch::base qw( KinoSearch::Search::Searchable ); use KinoSearch::Search::HitCollector; -use KinoSearch::Util::Native qw( to_kino ); sub new { my ( $either, %args ) = @_; Modified: trunk/perl/lib/KinoSearch/Search/PhraseQuery.pm =================================================================== --- trunk/perl/lib/KinoSearch/Search/PhraseQuery.pm 2008-07-27 17:08:47 UTC (rev 3635) +++ trunk/perl/lib/KinoSearch/Search/PhraseQuery.pm 2008-07-27 17:41:24 UTC (rev 3636) @@ -6,7 +6,6 @@ use KinoSearch::base qw( KinoSearch::Search::Query ); use KinoSearch::Search::TermQuery; -use KinoSearch::Util::Native qw( to_kino ); sub new { my ( $either, %args ) = @_; Modified: trunk/perl/lib/KinoSearch/Search/PolyQuery.pm =================================================================== --- trunk/perl/lib/KinoSearch/Search/PolyQuery.pm 2008-07-27 17:08:47 UTC (rev 3635) +++ trunk/perl/lib/KinoSearch/Search/PolyQuery.pm 2008-07-27 17:41:24 UTC (rev 3636) @@ -6,7 +6,6 @@ use KinoSearch::base qw( KinoSearch::Search::Query ); use KinoSearch::Search::PolyCompiler; -use KinoSearch::Util::Native qw( to_kino ); 1; Modified: trunk/perl/lib/KinoSearch/Search/TopDocs.pm =================================================================== --- trunk/perl/lib/KinoSearch/Search/TopDocs.pm 2008-07-27 17:08:47 UTC (rev 3635) +++ trunk/perl/lib/KinoSearch/Search/TopDocs.pm 2008-07-27 17:41:24 UTC (rev 3636) @@ -7,7 +7,6 @@ use KinoSearch::Util::VArray; use KinoSearch::Search::RemoteFieldDoc; -use KinoSearch::Util::Native qw( to_perl to_kino ); sub new { my ( $either, %args ) = @_; Modified: trunk/perl/lib/KinoSearch/Test/TestQueryParser.pm =================================================================== --- trunk/perl/lib/KinoSearch/Test/TestQueryParser.pm 2008-07-27 17:08:47 UTC (rev 3635) +++ trunk/perl/lib/KinoSearch/Test/TestQueryParser.pm 2008-07-27 17:41:24 UTC (rev 3636) @@ -4,7 +4,6 @@ package KinoSearch::Test::TestQueryParser; use KinoSearch::Util::ToolSet; use KinoSearch::base qw( KinoSearch::Obj Exporter ); -use KinoSearch::Util::Native qw( to_perl ); our @EXPORT_OK = qw( doc_set ); sub doc_set { return to_perl( _doc_set() ) } Modified: trunk/perl/lib/KinoSearch/Test/TestQueryParserLogic.pm =================================================================== --- trunk/perl/lib/KinoSearch/Test/TestQueryParserLogic.pm 2008-07-27 17:08:47 UTC (rev 3635) +++ trunk/perl/lib/KinoSearch/Test/TestQueryParserLogic.pm 2008-07-27 17:41:24 UTC (rev 3636) @@ -4,7 +4,6 @@ package KinoSearch::Test::TestQueryParserLogic; use KinoSearch::Util::ToolSet; use KinoSearch::base qw( KinoSearch::Obj Exporter ); -use KinoSearch::Util::Native qw( to_perl ); our @EXPORT_OK = qw( logical_tests prune_tests ); sub logical_tests { to_perl( _logical_tests(shift) ) } Modified: trunk/perl/lib/KinoSearch/Test/TestQueryParserSyntax.pm =================================================================== --- trunk/perl/lib/KinoSearch/Test/TestQueryParserSyntax.pm 2008-07-27 17:08:47 UTC (rev 3635) +++ trunk/perl/lib/KinoSearch/Test/TestQueryParserSyntax.pm 2008-07-27 17:41:24 UTC (rev 3636) @@ -4,7 +4,6 @@ package KinoSearch::Test::TestQueryParserSyntax; use KinoSearch::Util::ToolSet; use KinoSearch::base qw( KinoSearch::Obj Exporter ); -use KinoSearch::Util::Native qw( to_perl ); our @EXPORT_OK = qw( leaf_tests syntax_tests ); sub leaf_tests { to_perl( _leaf_tests() ) } Modified: trunk/perl/lib/KinoSearch/Test/Util/TestCharBuf.pm =================================================================== --- trunk/perl/lib/KinoSearch/Test/Util/TestCharBuf.pm 2008-07-27 17:08:47 UTC (rev 3635) +++ trunk/perl/lib/KinoSearch/Test/Util/TestCharBuf.pm 2008-07-27 17:41:24 UTC (rev 3636) @@ -4,7 +4,6 @@ package KinoSearch::Test::Util::TestCharBuf; use KinoSearch::Util::ToolSet; use KinoSearch::base qw( KinoSearch::Obj Exporter ); -use KinoSearch::Util::Native qw( to_perl ); our @EXPORT_OK = qw( vcatf_tests ); sub vcatf_tests { to_perl( _vcatf_tests() ) } Modified: trunk/perl/lib/KinoSearch/Util/CharBuf.pm =================================================================== --- trunk/perl/lib/KinoSearch/Util/CharBuf.pm 2008-07-27 17:08:47 UTC (rev 3635) +++ trunk/perl/lib/KinoSearch/Util/CharBuf.pm 2008-07-27 17:41:24 UTC (rev 3636) @@ -2,7 +2,6 @@ use warnings; package KinoSearch::Util::CharBuf; -use KinoSearch::Util::ToolSet; use KinoSearch::base qw( KinoSearch::Obj::FastObj Exporter ); our @EXPORT_OK = qw( cb_compare ); Modified: trunk/perl/lib/KinoSearch/Util/Compat/DirManip.pm =================================================================== --- trunk/perl/lib/KinoSearch/Util/Compat/DirManip.pm 2008-07-27 17:08:47 UTC (rev 3635) +++ trunk/perl/lib/KinoSearch/Util/Compat/DirManip.pm 2008-07-27 17:41:24 UTC (rev 3636) @@ -5,7 +5,6 @@ use KinoSearch::Util::ToolSet; use KinoSearch::base qw( KinoSearch::Obj ); use File::Spec::Functions qw( rel2abs no_upwards ); -use KinoSearch::Util::Native qw( to_kino ); sub absolutify { return rel2abs( $_[1] ) } Modified: trunk/perl/lib/KinoSearch/Util/Json.pm =================================================================== --- trunk/perl/lib/KinoSearch/Util/Json.pm 2008-07-27 17:08:47 UTC (rev 3635) +++ trunk/perl/lib/KinoSearch/Util/Json.pm 2008-07-27 17:41:24 UTC (rev 3636) @@ -3,6 +3,7 @@ package KinoSearch::Util::Json; use KinoSearch::base qw( Exporter ); +use KinoSearch::Util::ToolSet; BEGIN { our @EXPORT_OK = qw( @@ -12,7 +13,6 @@ } use JSON::XS qw(); -use KinoSearch::Util::Native qw( to_kino to_perl ); my $json_encoder = JSON::XS->new->pretty(1)->canonical(1); Modified: trunk/perl/lib/KinoSearch/Util/Native.pm =================================================================== --- trunk/perl/lib/KinoSearch/Util/Native.pm 2008-07-27 17:08:47 UTC (rev 3635) +++ trunk/perl/lib/KinoSearch/Util/Native.pm 2008-07-27 17:41:24 UTC (rev 3636) @@ -5,55 +5,11 @@ use KinoSearch::Util::ToolSet; use KinoSearch::base qw( KinoSearch::Obj Exporter ); -our @EXPORT_OK = qw( to_kino to_perl ); - use KinoSearch::Util::Hash; use KinoSearch::Util::ByteBuf; use KinoSearch::Util::CharBuf; use KinoSearch::Util::VArray; -# Translate a complex data structure in Perl to the equivalent in KinoSearch C -# structures. Undefined elements will trigger a warning and be turned to -# empty strings. -sub to_kino { - my $input = shift; - my $reftype = reftype($input); - - if ( !$reftype ) { - return KinoSearch::Util::CharBuf->new($input); - } - elsif ( $reftype eq 'HASH' ) { - my $capacity = scalar keys %$input; - my $hash = KinoSearch::Util::Hash->new( capacity => $capacity ); - while ( my ( $k, $v ) = each %$input ) { - my $val = to_kino($v); - $hash->store( $k, $val ); - } - return $hash; - } - elsif ( $reftype eq 'ARRAY' ) { - my $varray - = KinoSearch::Util::VArray->new( capacity => scalar @$input ); - $varray->push( to_kino($_) ) for @$input; - return $varray; - } - elsif ( a_isa_b( $input, 'KinoSearch::Obj' ) ) { - return $input; - } -} - -# Transform what may or may not be a KinoSearch object into a Perl complex -# data structure if possible. -sub to_perl { - my $input = shift; - if ( blessed($input) and $input->can('to_perl') ) { - return $input->to_perl; - } - else { - return $input; - } -} - sub _test { return scalar @_ } sub _test_obj { Modified: trunk/perl/lib/KinoSearch/Util/PriorityQueue.pm =================================================================== --- trunk/perl/lib/KinoSearch/Util/PriorityQueue.pm 2008-07-27 17:08:47 UTC (rev 3635) +++ trunk/perl/lib/KinoSearch/Util/PriorityQueue.pm 2008-07-27 17:41:24 UTC (rev 3636) @@ -4,7 +4,6 @@ package KinoSearch::Util::PriorityQueue; use KinoSearch::Util::ToolSet; use KinoSearch::base qw( KinoSearch::Obj ); -use KinoSearch::Util::Native qw( to_perl ); sub pop_all { to_perl( shift->_pop_all ) } Modified: trunk/perl/lib/KinoSearch/Util/ToolSet.pm =================================================================== --- trunk/perl/lib/KinoSearch/Util/ToolSet.pm 2008-07-27 17:08:47 UTC (rev 3635) +++ trunk/perl/lib/KinoSearch/Util/ToolSet.pm 2008-07-27 17:41:24 UTC (rev 3636) @@ -47,14 +47,55 @@ K_DEBUG kdump + to_kino + to_perl verify_args a_isa_b kerror ); +# Translate a complex data structure in Perl to the equivalent in KinoSearch C +# structures. Undefined elements will trigger a warning and be turned to +# empty strings. +sub to_kino { + my $input = shift; + my $reftype = reftype($input); -our @EXPORT_OK = qw( verify_args kerror a_isa_b ); + if ( !$reftype ) { + return KinoSearch::Util::CharBuf->new($input); + } + elsif ( $reftype eq 'HASH' ) { + my $capacity = scalar keys %$input; + my $hash = KinoSearch::Util::Hash->new( capacity => $capacity ); + while ( my ( $k, $v ) = each %$input ) { + my $val = to_kino($v); + $hash->store( $k, $val ); + } + return $hash; + } + elsif ( $reftype eq 'ARRAY' ) { + my $varray + = KinoSearch::Util::VArray->new( capacity => scalar @$input ); + $varray->push( to_kino($_) ) for @$input; + return $varray; + } + elsif ( a_isa_b( $input, 'KinoSearch::Obj' ) ) { + return $input; + } +} +# Transform what may or may not be a KinoSearch object into a Perl complex +# data structure if possible. +sub to_perl { + my $input = shift; + if ( blessed($input) and $input->can('to_pobj') ) { + return $input->to_pobj; + } + else { + return $input; + } +} + my $kerror; sub kerror {$kerror} Modified: trunk/perl/t/015-sort_external.t =================================================================== --- trunk/perl/t/015-sort_external.t 2008-07-27 17:08:47 UTC (rev 3635) +++ trunk/perl/t/015-sort_external.t 2008-07-27 17:41:24 UTC (rev 3636) @@ -5,7 +5,7 @@ use List::Util qw( shuffle ); use KinoSearch::Test::Util::BBSortEx; use KinoSearch::Index::Snapshot; -use KinoSearch::Util::Native qw( to_perl to_kino ); +use KinoSearch::Util::ToolSet qw( to_perl to_kino ); my ( $sortex, $cache, @orig, @sort_output ); Modified: trunk/perl/t/018-native.t =================================================================== --- trunk/perl/t/018-native.t 2008-07-27 17:08:47 UTC (rev 3635) +++ trunk/perl/t/018-native.t 2008-07-27 17:41:24 UTC (rev 3636) @@ -3,9 +3,10 @@ use Test::More tests => 7; -use KinoSearch::Util::Native qw( to_perl to_kino ); +use KinoSearch::Util::Native; use KinoSearch::Util::Hash; use KinoSearch::Util::ByteBuf; +use KinoSearch::Util::ToolSet; my $object = KinoSearch::Util::Native->new(); isa_ok( $object, "KinoSearch::Util::Native" ); Modified: trunk/perl/t/028-sortexrun.t =================================================================== --- trunk/perl/t/028-sortexrun.t 2008-07-27 17:08:47 UTC (rev 3635) +++ trunk/perl/t/028-sortexrun.t 2008-07-27 17:41:24 UTC (rev 3636) @@ -4,7 +4,7 @@ use KinoSearch::Test::Util::BBSortEx; use Test::More tests => 5; -use KinoSearch::Util::Native qw( to_kino to_perl ); +use KinoSearch::Util::ToolSet; my $letters = KinoSearch::Util::VArray->new( capacity => 26 ); $letters->push( to_kino($_) ) for 'a' .. 'z'; Modified: trunk/perl/t/207-seg_lexicon.t =================================================================== --- trunk/perl/t/207-seg_lexicon.t 2008-07-27 17:08:47 UTC (rev 3635) +++ trunk/perl/t/207-seg_lexicon.t 2008-07-27 17:41:24 UTC (rev 3636) @@ -27,7 +27,7 @@ use KinoSearch::Index::SegLexicon; use KinoSearch::Index::LexReader; use KinoSearch::Index::Snapshot; -use KinoSearch::Util::Native qw( to_kino ); +use KinoSearch::Util::ToolSet; my $folder = KinoSearch::Store::RAMFolder->new; my $schema = MySchema->new; Modified: trunk/perl/t/521-remote_field_doc.t =================================================================== --- trunk/perl/t/521-remote_field_doc.t 2008-07-27 17:08:47 UTC (rev 3635) +++ trunk/perl/t/521-remote_field_doc.t 2008-07-27 17:41:24 UTC (rev 3636) @@ -10,7 +10,7 @@ use KinoSearch::Util::VArray; use KinoSearch::Util::ByteBuf; -use KinoSearch::Util::Native qw( to_perl ); +use KinoSearch::Util::ToolSet; use Storable qw( freeze thaw ); my $field_vals = KinoSearch::Util::VArray->new( capacity => 4 ); _______________________________________________ kinosearch-commits mailing list kinosearch-commits [at] rectangular http://www.rectangular.com/mailman/listinfo/kinosearch-commits
|