Changeset 12268


Ignore:
Timestamp:
2006-07-20T15:59:42+12:00 (18 years ago)
Author:
kjdon
Message:

set_OIDtype now takes a second argument which is the metadata element to use for the unique id

Location:
trunk/gsdl/perllib
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/gsdl/perllib/doc.pm

    r11962 r12268  
    143143sub set_OIDtype {
    144144    my $self = shift (@_);
    145     my ($type) = @_;
     145    my ($type, $metadata) = @_;
    146146
    147147    if (defined $type && $type =~ /^(hash|incremental|dirname|assigned)$/) {
     
    149149    } else {
    150150    $self->{'OIDtype'} = "hash";
     151    }
     152    if ($type =~ /^assigned$/) {
     153    if (defined $metadata) {
     154        $self->{'OIDmetadata'} = $metadata;
     155    } else {
     156        $self->{'OIDmetadata'} = "dc.Identifier";
     157    }
    151158    }
    152159}
     
    901908       
    902909    } elsif ($self->{'OIDtype'} eq "assigned") {
    903         my $identifier = $self->get_metadata_element ($self->get_top_section(), "dc.Identifier");
     910        my $identifier = $self->get_metadata_element ($self->get_top_section(), $self->{'OIDmetadata'});
    904911        if (defined $identifier && $identifier ne "") {
    905         $OID = "D" . $self->get_metadata_element ($self->get_top_section(), "dc.Identifier");
     912        $OID = "D" . $identifier;
    906913        $OID =~ s/\.//; #remove any periods
    907914        } else {
    908915        # need a hash id
    909         print STDERR "no dc.Identifier found, generating hash id\n";
     916        print STDERR "no $self->{'OIDmetadata'} metadata found, generating hash id\n";
    910917        $use_hash_oid = 1;
    911918        }
  • trunk/gsdl/perllib/docproc.pm

    r9953 r12268  
    4949sub set_OIDtype {
    5050    my $self = shift (@_);
    51     my ($type) = @_;
     51    my ($type, $metadata) = @_;
    5252
    5353    if ($type =~ /^(hash|incremental|dirname|assigned)$/) {
     
    5555    } else {
    5656    $self->{'OIDtype'} = "hash";
     57    }
     58    if ($type =~ /^assigned$/) {
     59    if (defined $metadata) {
     60        $self->{'OIDmetadata'} = $metadata;
     61    } else {
     62        $self->{'OIDmetadata'} = "dc.Identifier";
     63    }
    5764    }
    5865}
Note: See TracChangeset for help on using the changeset viewer.