Raw content of BioMart::Configuration::MartURLLocation
# $Id:
#
# BioMart module for BioMart::Configuration::MartURLLocation
#
# You may distribute this module under the same terms as perl itself
# POD documentation - main docs before the code
=head1 NAME
BioMart::Configuration::MartURLLocation
=head1 SYNOPSIS
A Location that represents the configuration for a mart database accessed
via a mart server
=head1 DESCRIPTION
=head1 AUTHOR - Damian Smedley
=head1 CONTACT
This module is part of the BioMart project http://www.biomart.org
Questions can be posted to the mart-dev mailing list:
mart-dev@ebi.ac.uk
=head1 METHODS
=cut
package BioMart::Configuration::MartURLLocation;
use strict;
use warnings;
use base qw(BioMart::Configuration::URLLocation);
=head2 _new
Usage : see Usage for BioMart::Configuration::Location.
Description: creates a new MartURLLocation object which ...
Returntype : BioMart::Configuration::MartURLLocation
Exceptions : none
Caller : general
=cut
sub _new {
my ($self, @param) = @_;
$self->SUPER::_new(@param);
}
=head2 getXMLWeb
Usage : my $xml = $configurator->getXMLWeb($dataset);
Description: Gets XML from the web server
Return type: xml hash
Exceptions :
Caller :
=cut
sub getDatasetConfigXML{
my ($self,$virtualSchema,$dataSetName,$interface,$dsCounter, $noMessage)=@_;
$virtualSchema = $self->serverVirtualSchema;
my $dbhost = $self->host;
my $dbport = $self->port;
if (!$noMessage)
{
$self->configureMessage($virtualSchema,$dataSetName,"WEB",$dsCounter);
}
my $qualifier="type=configuration&virtualschema=".$virtualSchema.
"&dataset=".$dataSetName."&interface=".$interface."&martuser=".
$self->martUser;
my $xml = join "",$self->getResultSet($qualifier,"GET");
return $xml;
}
sub versionCheck{
my ($self,$version)=@_;
my $virtualSchema = $self->serverVirtualSchema;
my $qualifier="type=versioncheck&virtualschema=".$virtualSchema.
"&mart=".$self->name."&version=".$version;
my $count = join "",$self->getResultSet($qualifier,"GET");
return $count;
}
sub version{
my ($self)=@_;
my $virtualSchema = $self->serverVirtualSchema;
my $qualifier="type=version&virtualschema=".$virtualSchema."&mart=".
$self->name;
my $version = join "",$self->getResultSet($qualifier,"GET");
return $version;
}
sub interfaces{
my ($self,$dataset)=@_;
my $qualifier ="type=interfaces&virtualschema=".
$self->serverVirtualSchema."&mart=".$self->name."&martuser=".
$self->martUser."&dataset=".$dataset;
my $interfaces = join "",$self->getResultSet($qualifier,"GET");
return $interfaces;
}
sub _retrieveDatasetInfo {
my ($self,$vSchemaName, $virtualSchemaDefault)=@_;
$vSchemaName = $self->serverVirtualSchema;
my @datasets;
my $qualifier ="type=datasets&virtualschema=".$vSchemaName."&mart=".
$self->name."&martuser=".$self->martUser;
my @include_datasets=split(/\,/,$self->includeDatasets);
foreach my $el ($self->getResultSet($qualifier,"GET")){
unless ($el =~/^\s/){
my @line = split(/\t/,$el);
if (scalar (@include_datasets)>0){
foreach my $ds (@include_datasets){
if ($ds eq $line[1]){
my %data = ('type' => $line[0],
'dataset' => $line[1],
'displayName' => $line[2],
'visible' => $line[3],
'version' => $line[4],
'initialBatchSize' => $line[5],
'maxBatchSize' => $line[6],
'interfaces' => $line[7] ,
'modified' => $line[8]);
push (@datasets, \%data);
}
}
} else {
my %data = ('type' => $line[0],
'dataset' => $line[1],
'displayName' => $line[2],
'visible' => $line[3],
'version' => $line[4],
'initialBatchSize' => $line[5],
'maxBatchSize' => $line[6],
'interfaces' => $line[7],
'modified' => $line[8]);
push (@datasets, \%data);
}
}
}
$self->datasetNumber(scalar @datasets);
return @datasets;
}
1;