Index: FTS.pm =================================================================== RCS file: /cvs_server/repositories/CMSSW/COMP/PHEDEX/perl_lib/PHEDEX/Transfer/FTS.pm,v retrieving revision 1.46 diff -u -r1.46 FTS.pm --- FTS.pm 22 Apr 2008 08:59:00 -0000 1.46 +++ FTS.pm 4 Jun 2008 00:39:45 -0000 @@ -12,6 +12,7 @@ use PHEDEX::Transfer::Backend::File; use PHEDEX::Transfer::Backend::Monitor; use PHEDEX::Transfer::Backend::Interface::Glite; +use PHEDEX::Transfer::Backend::Interface::SRM; use PHEDEX::Core::Command; use PHEDEX::Core::Timing; use PHEDEX::Monalisa; @@ -28,7 +29,7 @@ my $params = shift || {}; # Set my defaults where not defined by the derived class. - $params->{PROTOCOLS} ||= [ 'srm' ]; # Accepted protocols + $params->{PROTOCOLS} ||= [ 'srmv2' ]; # Accepted protocols $params->{BATCH_FILES} ||= 30; # Max number of files per job $params->{FTS_LINK_PEND} ||= 5; # Submit to FTS until this number of files per link are "pending" $params->{FTS_MAX_ACTIVE} ||= 300; # Submit to FTS until these number of files are "active" @@ -37,6 +38,7 @@ $params->{FTS_POLL_QUEUE} ||= 0; # Whether to poll all vs. our jobs $params->{FTS_Q_INTERVAL} ||= 30; # Interval for polling queue for new jobs $params->{FTS_J_INTERVAL} ||= 5; # Interval for polling individual jobs + $params->{BACKEND_INTERFACE} = 'Glite'; # Always default to the Glite commands for backend interface # Set argument parsing at this level. $options->{'batch-files=i'} = \$params->{BATCH_FILES}; @@ -57,6 +59,7 @@ $options->{'monalisa_port=i'} = \$params->{FTS_MONALISA_PORT}; $options->{'monalisa_cluster=s'} = \$params->{FTS_MONALISA_CLUSTER}; $options->{'monalisa_node=s'} = \$params->{FTS_MONALISA_NODE}; + $options->{'interface=s'} = \$params->{BACKEND_INTERFACE}; # Initialise myself my $self = $class->SUPER::new($master, $options, $params, @_); @@ -71,11 +74,23 @@ { my ($self) = @_; - my $glite = PHEDEX::Transfer::Backend::Interface::Glite->new + my $glite; + + $self->Dbgmsg("Using backend interface $self->{BACKEND_INTERFACE}.\n"); + + if ( $self->{BACKEND_INTERFACE} eq 'Glite' ) { + $glite = PHEDEX::Transfer::Backend::Interface::Glite->new ( SERVICE => $self->{FTS_SERVICE}, ME => 'GLite', ); + } elsif ( $self->{BACKEND_INTERFACE} eq 'SRM' ) { + $glite = PHEDEX::Transfer::Backend::Interface::SRM->new + ( + SERVICE => $self->{FTS_SERVICE}, + ME => 'SRM', + ); + } $glite->MYPROXY($self->{FTS_MYPROXY}) if $self->{FTS_MYPROXY}; $glite->SPACETOKEN($self->{FTS_SPACETOKEN}) if $self->{FTS_SPACETOKEN};