Changeset 13917


Ignore:
Timestamp:
2007-02-15T10:54:47+13:00 (17 years ago)
Author:
kjdon
Message:

levels now go into collectionconfig as well as build config, have displayItems, and names and shortnames likeindexes

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/gsdl3/bin/script/convert_coll_from_gs2.pl

    r13912 r13917  
    179179    # keeps the order for indexes
    180180    my @indexlist = ();
    181     my $firstindex = "";
     181    my $defaultindex = "";
    182182    my $first = 1;
    183183    my $maptype = "indexfieldmap";
     
    192192        push @indexlist, $k;
    193193        if ($first) {
    194         $firstindex = $v;
     194        $defaultindex = $v;
    195195        $first = 0;
    196196        }   
     
    200200    }
    201201    # we use the shortname for default index
    202     my $defaultindex;
    203202    if (defined $collectcfg->{'defaultindex'}) {
    204203    $defaultindex = $collectcfg->{'defaultindex'};
    205204    $defaultindex = $indexmap->{$defaultindex};
    206     } else {
    207     # use the first one
    208     $defaultindex = $firstindex;
    209     }
    210    
     205    }
     206   
     207    #  levels
     208    my $levelmap = {};
     209    my @levellist = ();
     210    my $default_search_level = "";
     211    my $default_retrieve_level = "Sec";
     212    $first = 1;
     213    if ($buildtype eq "mgpp" || $buildtype eq "lucene") {
     214    if (defined $buildcfg->{'levelmap'}) {
     215        my $levelmap_t = $buildcfg->{'levelmap'};
     216        foreach my $l (@$levelmap_t) {
     217        my ($k, $v) = $l =~ /^(.*)\-\>(.*)$/;
     218        $levelmap->{$k} = $v;
     219        push @levellist, $k;
     220        if ($first) {
     221            $default_search_level = $v;
     222            $first = 0;
     223        }
     224        }
     225    }
     226
     227    if (defined $collectcfg->{'defaultlevel'}) {
     228        $default_search_level = $collectcfg->{'defaultlevel'};
     229        $default_search_level = $levelmap->{$default_search_level};
     230    }
     231    if (defined $buildcfg->{'textlevel'}) {
     232        $default_retrieve_level = $buildcfg->{'textlevel'};
     233    }
     234    }
    211235    # format stuff
    212236    my $format = $collectcfg->{'format'};
     
    225249    }
    226250
     251    #  level stuff for mgpp/lucene
     252    if ($buildtype eq 'mgpp' || $buildtype eq 'lucene'){
     253    foreach my $l (keys %$levelmap) {
     254        $collwriter->startTag('level', 'name'=>$l);
     255        #find the coll meta stuff
     256        my $leveldisplay = ".$l";
     257        foreach my $lang (keys %{$collectionmeta->{$leveldisplay}}) {
     258        my $value = $collectionmeta->{$leveldisplay}->{$lang};
     259        output_display($collwriter, 'name', $lang, $value);
     260        }
     261        $collwriter->endTag('level');
     262    }
     263    }
    227264    # add in the format stuff
    228265    if (defined $format->{'SearchVList'}) {
     
    252289
    253290    #do the retrieve service
    254     # assume mgpp or mg
     291    $buildwriter->startTag('serviceRack', 'name'=>"GS2".$service_type."Retrieve");
    255292    if ($buildtype eq 'mgpp' || $buildtype eq 'lucene') {
    256     #for each level
    257     if (defined $buildcfg->{'indexlevels'}) {
    258         push @levels, @{$buildcfg->{'indexlevels'}};
    259        
    260         if (defined $buildcfg->{'textlevel'}) {
    261         $defaultlevel = $buildcfg->{'textlevel'};
    262         } else {
    263         $defaultlevel = $levels[0];
    264         }
    265     } else { #use levels from collect.cfg - must be an old collection
    266         @levels = ('Document');
    267         $defaultlevel = 'Document';
    268         if (defined $collectcfg->{'levels'}) {
    269         foreach my $l (@{$collectcfg->{'levels'}}) {
    270             if ($l eq "Section") {
    271             $defaultlevel = 'Section';
    272             }
    273             push @levels, $l;
    274         }
    275         }
    276     }
    277     $buildwriter->startTag('serviceRack', 'name'=>"GS2".$service_type."Retrieve");
    278     $buildwriter->emptyTag('defaultLevel', 'name'=>$defaultlevel);
    279 
    280    
     293    $buildwriter->emptyTag('defaultLevel', 'shortname'=>$default_retrieve_level);
    281294    } elsif ($buildtype eq "mg") {
    282     $buildwriter->startTag('serviceRack', 'name'=>'GS2MGRetrieve');
    283295    $buildwriter->emptyTag('defaultIndex', 'shortname'=>$defaultindex);
    284296   
     
    432444       
    433445    # level info
    434     $buildwriter->emptyTag('defaultLevel', 'name'=>$defaultlevel);
     446    $buildwriter->emptyTag('defaultLevel', 'shortname'=>$default_search_level);
     447    $buildwriter->emptyTag('defaultGDBMLevel', 'shortname'=>$default_retrieve_level);
    435448    $buildwriter->startTag('levelList');
    436     foreach my $level (@levels) {
    437         $buildwriter->emptyTag('level', 'name'=>$level);
    438     }
     449    foreach my $l (@levellist) {
     450        my $level = $levelmap->{$l};
     451        $buildwriter->emptyTag('level', 'name'=>$l, 'shortname'=>$level);
     452    }   
    439453    $buildwriter->endTag('levelList');
    440454   
Note: See TracChangeset for help on using the changeset viewer.