IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Changeset 6612


Ignore:
Timestamp:
Mar 16, 2006, 1:52:56 PM (20 years ago)
Author:
jhoblitt
Message:

add DataStore::Utils
change DataStore::Product & DataStore::FileSet to use DataStore::Utils
change DataStore::FileSet to validate all ->new() params
change DataStore::FileSet tests to use a valid type

Location:
trunk/DataStore
Files:
1 added
6 edited

Legend:

Unmodified
Added
Removed
  • trunk/DataStore/MANIFEST

    r6598 r6612  
    1515lib/DataStore/Record.pm
    1616lib/DataStore/Response.pm
     17lib/DataStore/Utils.pm
    1718t/00_distribution.t
    1819t/01_load.t
  • trunk/DataStore/lib/DataStore.pm

    r6603 r6612  
    11# Copyright (C) 2006  Joshua Hoblitt
    22#
    3 # $Id: DataStore.pm,v 1.2 2006-03-16 21:44:57 jhoblitt Exp $
     3# $Id: DataStore.pm,v 1.3 2006-03-16 23:52:56 jhoblitt Exp $
    44
    55package DataStore;
     
    2929    use DataStore::Product;
    3030    use DataStore::Response;
     31    use DataStore::Utils;
    3132
    3233=head1 DESCRIPTION
     
    112113use DataStore::Product;
    113114use DataStore::Response;
     115use DataStore::Utils;
    114116
    115117=head1 CREDITS
  • trunk/DataStore/lib/DataStore/FileSet.pm

    r6608 r6612  
    11# Copyright (C) 2006  Joshua Hoblitt
    22#
    3 # $Id: FileSet.pm,v 1.6 2006-03-16 21:57:29 jhoblitt Exp $
     3# $Id: FileSet.pm,v 1.7 2006-03-16 23:52:56 jhoblitt Exp $
    44
    55package DataStore::FileSet;
     
    1616use DataStore::File::Parser;
    1717use DataStore::Response;
     18use DataStore::Utils qw( $STD_FIELD $TIME_FIELD %KNOWN_FILESET_TYPES );
    1819use LWP::UserAgent;
    1920use Params::Validate qw( validate SCALAR );
     
    116117                },
    117118            },
    118             fileset     => 1,
    119             datetime    => 1,
    120             type        => 1,
     119            fileset     => {
     120                type    => SCALAR,
     121                regex   => $STD_FIELD,
     122            },
     123            datetime    => {
     124                type    => SCALAR,
     125                regex   => $TIME_FIELD,
     126            },
     127            type        => {
     128                type    => SCALAR,
     129                callbacks => {
     130                    'is valid type' =>
     131                        sub { exists $KNOWN_FILESET_TYPES{$_[0]} },
     132                },
     133            },
    121134        },
    122135    );
  • trunk/DataStore/lib/DataStore/Product.pm

    r6608 r6612  
    11# Copyright (C) 2006  Joshua Hoblitt
    22#
    3 # $Id: Product.pm,v 1.6 2006-03-16 21:57:29 jhoblitt Exp $
     3# $Id: Product.pm,v 1.7 2006-03-16 23:52:56 jhoblitt Exp $
    44
    55package DataStore::Product;
     
    1717use DataStore::Record;
    1818use DataStore::Response;
     19use DataStore::Utils qw( $STD_FIELD );
    1920use LWP::UserAgent;
    2021use Params::Validate qw( validate SCALAR);
    21 
    22 my $std_field = qr/^[a-z0-9-_.]+$/;
    2322
    2423use vars qw( @BASE_FIELDS );
     
    110109                type        => SCALAR,
    111110                callbacks   => {
    112                     'is valid fileset ID' => sub { $_[0] =~ $std_field },
     111                    'is valid fileset ID' => sub { $_[0] =~ $STD_FIELD },
    113112                },
    114113                optional    => 1,
  • trunk/DataStore/t/01_load.t

    r6599 r6612  
    55use lib qw( ./lib ./t );
    66
    7 use Test::More tests => 8;
     7use Test::More tests => 9;
    88
    99BEGIN { use_ok('DataStore'); }
     
    1515BEGIN { use_ok('DataStore::Record'); }
    1616BEGIN { use_ok('DataStore::Response'); }
     17BEGIN { use_ok('DataStore::Utils'); }
  • trunk/DataStore/t/06_fileset.t

    r6595 r6612  
    33# Copyright (C) 2006  Joshua Hoblitt
    44#
    5 # $Id: 06_fileset.t,v 1.3 2006-03-15 22:06:58 jhoblitt Exp $
     5# $Id: 06_fileset.t,v 1.4 2006-03-16 23:52:56 jhoblitt Exp $
    66
    77use strict;
     
    3636        fileset     => '12buckelyourshoe',
    3737        datetime    => '2042-01-01T00:00:00Z',
    38         type        => 'foo',
     38        type        => 'object',
    3939    );
    4040
     
    4747        fileset     => '12buckelyourshoe',
    4848        datetime    => '2042-01-01T00:00:00Z',
    49         type        => 'foo',
     49        type        => 'object',
    5050        foo         => 1,
    5151    );
     
    119119        fileset     => '12buckelyourshoe',
    120120        datetime    => '2042-01-01T00:00:00Z',
    121         type        => 'foo',
     121        type        => 'object',
    122122    );
    123123
     
    130130        fileset     => '12buckelyourshoe',
    131131        datetime    => '2042-01-01T00:00:00Z',
    132         type        => 'foo',
     132        type        => 'object',
    133133    );
    134134
     
    157157        fileset     => '12buckelyourshoe',
    158158        datetime    => '2042-01-01T00:00:00Z',
    159         type        => 'foo',
     159        type        => 'object',
    160160    );
    161161
Note: See TracChangeset for help on using the changeset viewer.