[Bio] / WebApplication / DataHandler / ACH.pm Repository:
ViewVC logotype

View of /WebApplication/DataHandler/ACH.pm

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.1 - (download) (as text) (annotate)
Wed Sep 10 13:38:22 2008 UTC (11 years, 5 months ago) by wilke
Branch: MAIN
CVS Tags: mgrast_dev_08112011, rast_rel_2009_05_18, mgrast_dev_08022011, rast_rel_2014_0912, mgrast_dev_03052011, mobedac_release_05302012, mgrast_dev_05262011, rast_rel_2008_12_18, mgrast_dev_04082011, rast_rel_2010_0928, rast_2008_0924, mgrast_version_3_2, mgrast_dev_12152011, mgrast_dev_06072011, rast_rel_2008_09_30, rast_rel_2009_0925, rast_rel_2010_0526, rast_rel_2014_0729, mgrast_dev_02212011, rast_rel_2010_1206, mgrast_release_3_0, mgrast_dev_03252011, rast_rel_2010_0118, mgrast_rel_2008_0924, mgrast_rel_2008_1110_v2, rast_rel_2009_02_05, rast_rel_2011_0119, mgrast_rel_2008_0625, mgrast_release_3_0_4, mgrast_release_3_0_2, mgrast_release_3_0_3, mgrast_release_3_0_1, mgrast_dev_03312011, mgrast_release_3_1_2, mgrast_release_3_1_1, mgrast_release_3_1_0, mgrast_dev_04132011, rast_rel_2008_10_09, mgrast_dev_04012011, rast_release_2008_09_29, mgrast_rel_2008_0923, mgrast_rel_2008_0919, rast_rel_2009_07_09, rast_rel_2010_0827, mgrast_rel_2008_1110, myrast_33, rast_rel_2011_0928, rast_rel_2008_09_29, mgrast_rel_2008_0917, rast_rel_2008_10_29, mgrast_dev_04052011, mgrast_dev_02222011, rast_rel_2009_03_26, mgrast_dev_10262011, rast_rel_2008_11_24, HEAD
Initial version of the datahandler for the AnnotationClearingHouse

package DataHandler::ACH;

# DataHandler::ACH - data handler to the ACH database



use strict;
#use warnings;

use base qw( DataHandler );

use DBMaster;
use DBrtns;
use FIG_Config;


=pod

=head1 NAME

DataHandler::ACH - data handler to the PPO ACH database

=head1 DESCRIPTION

This module returns the DBMaster object to the ACH database stored in the root
job directory of a ACH server. It requires the FIG_Config.pm to specify the  
$rast_jobs directory.

Refer to WebApplication/DataHandler.pm for the full documentation.

=head1 METHODS

=over 4

=item * B<handle> ()

Returns the enclosed data handle. Returns undef if it fails to open the Jobs database

=cut

sub handle {
  
  unless (exists $_[0]->{_handle}) {
    
    my $user    = "";
    my $db      = "";
    my $dbhost  = "";
    my $backend = "";
    my $dbport  = "";
    my $dbsock  = "";
    my $dbpass  = "";
    
    defined($dbhost) ? $dbhost : $FIG_Config::dbhost;
    $dbsock = defined($dbsock) ? $dbsock : $FIG_Config::dbsock;
    my $type    = "SQL";  # use type to select the access methods
    
    if ($WebConfig::ACHDB){
      $user    = $WebConfig::ACHUSER      || "seed" ; 
      $dbpass  = $WebConfig::ACHDBPASS    || "" ;
      $db      = $WebConfig::ACHDB;
      $dbhost  = $WebConfig::ACHDBHOST;
      $backend = $WebConfig::ACHDBBACKEND || "MySQL";
      $type    = $WebConfig::ACHDBPTYPE   if  ($WebConfig::ACHDBTYPE);
      $dbsock  = $WebConfig::ACHDBSOCK    if ($WebConfig::ACHDBSOCK);
      $dbport  = $WebConfig::ACHDBPORT    if ($WebConfig::ACHDBPORT);
    }
    elsif ($FIG_Config::ACHDB) {
      $user    = $FIG_Config::ACHUSER      || "seed" ;
      $dbpass  = $FIG_Config::ACHDBPASS    || "" ;
      $db      = $FIG_Config::ACHDB;
      $dbhost  = $FIG_Config::ACHDBHOST;
      $backend = $FIG_Config::ACHDBBACKEND || "MySQL";
      $type    = $FIG_Config::ACHDBPTYPE   if  ($FIG_Config::ACHDBTYPE);
      $dbsock  = $FIG_Config::ACHDBSOCK    if ($FIG_Config::ACHDBSOCK);
      $dbport  = $FIG_Config::ACHDBPORT    if ($FIG_Config::ACHDBPORT);

    }
    else{
      	warn "Unable to read DataHandler::ACH database: can't find FIG_Config.pm or ACH.pm\n";
	return undef;
    }

    if ($type eq "PPO"){
      
      eval {
	$_[0]->{_handle} = DBMaster->new( -database => $db,
					  -host     => $dbhost,
					  -user     => $user,
					  -backend  => $backend,
					);
      };
      
      
    }
    else{
      # probably a fig db
      $_[0]->{_handle} = new DBrtns( lc($backend),$db,$user,$dbpass,$dbport, $dbhost, $dbsock);
      
    }
    
    
    if ($@) {
      warn "Unable to read DataHandler::ACH : $@\n";
      $_[0]->{_handle} = undef;
    }
  }
  return $_[0]->{_handle};
}

1;

MCS Webmaster
ViewVC Help
Powered by ViewVC 1.0.3